Hello,
I'm making a dissector for an in-house protocol we use at work. The protocol
basically encapsulates a number of other protocol packets (currently PPI and
TZSP (Tazmen Sniffing Protocol)) into one bigger message and adds a header to
the whole group.
When I do a dissect I display the header and then in a separate tree each
different encapsulated packet.
To invoke the specific dissectors, I create a sub tvbuffer for the specific
region of the whole tvbuffer and then call find_dissector("ppi" | "tzsp") and
call_dissector with appropriate parameters.
My problems is : TZSP doesn't register itself with "register_dissector", so
find_dissector can't find it and it returns NULL. Is there any other way to
call a specific dissector?
My current solution is to add the registering code into packet-tzsp.c, but that
won't work in the long run because I have to send a plugin shared libary to my
coworkers, and I can't ask them to modify their sources (most of them don't
even have them to begin with) for this little thing.
Also, TZSP is carried by a UDP segment. The way it is now, the UDP (+ IP +
Ethernet) info is lost, and just the raw TZSP packet is left. I therefore can't
call an inferior protocol and let wireshark do the searching for me. Nor can I
return from the function and let it dissect the rest of the packet as it would
normally would, because there is more than one encapsulated packet.
So I'm in kind of a rut. I've searched the sources and READMEs, and the only
thing that resembled what I was looking for was a function called
dissector_next, but that was mentioned only in README.developer (grepping
through the source-tree yielded nothing else).
Thank you in advance,
Horia
___________________________________________________________________________
Sent via: Wireshark-dev mailing list <[email protected]>
Archives: http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
mailto:[email protected]?subject=unsubscribe