Reported in #21: there is an implicit assumption in the dissector (and the protocol) that messages start at TCP packet boundaries, and additionally that sessions (ie: exchanges of messages) start after a connection has been setup.
The latter is most likely always true for regular connections between clients and servers (unless there is a desync, see ros-industrial/industrial_core#133), but doesn't hold for the dissector if a capture was started after message exchange has started. 38e9ec9 only partially solved #21, as it only addressed the heavy fragmentation in the submitted captures and the resulting problems with deserialising pkt_len. The desync aspect was not addressed.
Reported in #21: there is an implicit assumption in the dissector (and the protocol) that messages start at TCP packet boundaries, and additionally that sessions (ie: exchanges of messages) start after a connection has been setup.
The latter is most likely always true for regular connections between clients and servers (unless there is a desync, see ros-industrial/industrial_core#133), but doesn't hold for the dissector if a capture was started after message exchange has started. 38e9ec9 only partially solved #21, as it only addressed the heavy fragmentation in the submitted captures and the resulting problems with deserialising
pkt_len
. The desync aspect was not addressed.