Ethereal-dev: [ethereal-dev] Edit:Protocols...
Laurent Deniel wrote:
>
> Added files:
> gtk proto_dlg.c proto_dlg.h
> Log:
> Add the "Edit:Protocols..." feature which currently only implements
> the following:
>
> It is now possible to enable/disable a particular protocol decoding
> (i.e. the protocol dissector is void or not). When a protocol
> is disabled, it is displayed as Data and of course, all linked
> sub-protocols are disabled as well.
>
> Disabling a protocol could be interesting:
>
> - in case of buggy dissectors
> - in case of wrong heuristics
> - for performance reasons
> - to decode the data as another protocol (TODO)
>
> Currently (if I am not wrong), all dissectors but NFS can be disabled
> (and dissectors that do not register protocols :-)
>
> I do not like the way the RPC sub-dissectors are disabled (in the
> sub-dissectors) since this could be done in the RPC dissector itself,
> knowing the sub-protocol hfinfo entry (this is why, I've not modified
> the NFS one yet).
>
> Two functions are added in proto.c :
>
> gboolean proto_is_protocol_enabled(int n);
> void proto_set_decoding(int n, gboolean enabled);
>
> and two MACROs which can be used in dissectors:
>
> OLD_CHECK_DISPLAY_AS_DATA(index, pd, offset, fd, tree)
> CHECK_DISPLAY_AS_DATA(index, tvb, pinfo, tree)
>
> See also the XXX in proto_dlg.c and proto.c around the new functions.
>
--
Laurent DENIEL | E-mail: deniel@xxxxxxxxxxx
Paris, FRANCE | laurent.deniel@xxxxxxxxxxxxxxxxxxxxxxxxxxxx
| WWW : http://www.worldnet.fr/~deniel
All above opinions are personal, unless stated otherwise.