Pickle changes/sets payload_length of DoIP package #4599
Open
Description
Brief description
Pickling and unpickling of a scapy.contrib.automotive.doip.DoIP package changes the value of payload_length
Scapy version
2.6.1
Python version
3.12
Operating system
Windows 10
Additional environment information
No response
How to reproduce
import pickle
import scapy.contrib.automotive.doip
doip_packet = scapy.contrib.automotive.doip.DoIP()
print(doip_packet.json())
pickled_elem = pickle.dumps(doip_packet, protocol=pickle.HIGHEST_PROTOCOL)
unpickled_elem = pickle.loads(pickled_elem)
print(unpickled_elem.json())
Actual result
{"protocol_version": 2, "inverse_version": 253, "payload_type": 0, "payload_length": 1, "nack": 0, "vin": "", "logical_address": null, "eid": "", "gid": "", "further_action": null, "vin_gid_status": null, "source_address": null, "activation_type": null, "logical_address_tester": null, "logical_address_doip_entity": null, "routing_activation_response": null, "reserved_iso": null, "reserved_oem": "", "diagnostic_power_mode": null, "node_type": null, "max_open_sockets": null, "cur_open_sockets": null, "max_data_size": null, "target_address": null, "ack_code": null, "nack_code": null, "previous_msg": ""}
Expected result
{"protocol_version": 2, "inverse_version": 253, "payload_type": 0, "payload_length": null, "nack": 0, "vin": "", "logical_address": null, "eid": "", "gid": "", "further_action": null, "vin_gid_status": null, "source_address": null, "activation_type": null, "logical_address_tester": null, "logical_address_doip_entity": null, "routing_activation_response": null, "reserved_iso": null, "reserved_oem": "", "diagnostic_power_mode": null, "node_type": null, "max_open_sockets": null, "cur_open_sockets": null, "max_data_size": null, "target_address": null, "ack_code": null, "nack_code": null, "previous_msg": ""}
Related resources
No response
Metadata
Assignees
Labels
No labels