Wireshark-dev: Re: [Wireshark-dev] How to call dissectors which are not registered (by register
On Jun 9, 2008, at 6:27 AM, yami wrote:
I'm writing a plugin for our program's own protocol, which
encapsulates a whole 'SMB' package.
Does it encapsulate anything *other* than SMB?
But in packet-smb.c, the dissector for 'SMB' is not registered.
Is it possible to call it without changing wireshark's code (packet-
smb.c) itself?
No. You'd have to modify the SMB dissector to register the dissector
by name, rather than creating an anonymous dissector handle with
create_dissector_handle().
If your protocol encapsulates other protocols than SMB, you'd probably
want a dissector table or a heuristic dissector table, and you'd want
to have the SMB dissector register itself in that table. If it only
encapsulates SMB, you might as well just have the SMB dissector
register itself by name and have your dissector's proto_reg_handoff
routine find the handle for SMB and use that.
If you modify the SMB dissector to register itself by name, send us a
patch, and we'll incorporate it into some future Wireshark release.