Wireshark-bugs: [Wireshark-bugs] [Bug 8505] openSAFETY: New reassemble functionality, as well as

Date: Sat, 30 Mar 2013 15:11:27 +0000

Comment # 22 on bug 8505 from
(In reply to comment #18)
> I will review (and probably commit) the current patch as-is. I'll be happy
> to accept a follow-up patch that does nice things with the tvbs, but I
> understand at this point you probably don't have a whole lot of desire for
> the extra work :)

Ok, so, I changed the dissector. The whole thing now supports dissection
strictly based on the TVB functionality. Additionally, I added a try/catch
clause in the heuristic filter, where it checks, if by chance we got wrong
boundaries and the necessary bytes are not available. There are only 2
exceptions where ep_tvb_memdup is still in use. The first is the crc checks,
where the bytes the crc is calculated over is being copied to a byte array
prior any checks. The crc functions do not use tvb functionality. The second
exception is Modbus/TCP dissection. The whole openSAFETY frame is twisted, as
every other 2 bytes are exchanged. I copy the whole frame, rectify the order,
add it with tvb_real_data and from there on use the same functions as for every
other sub fieldbus.

I also removed the unxorframe stuff. During the replacement of the bytes arrays
I came to the conclusion, that it is sufficient to simply pass the mac address
of the master node (UDID of SCM) and apply it where appropriate. 

Read_lowhigh_order is also removed from the patch.

I have fuzz-tested the changes, but did not check if valgrind still crashes, as
I am using a mac and have not set up valgrind here.


You are receiving this mail because:
  • You are watching all bug changes.