Ethereal-dev: Re: [Ethereal-dev] Decode As

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxx>
Date: Thu, 23 Jan 2003 02:18:46 -0800
On Wed, Jan 22, 2003 at 05:22:17PM +0300, Alex V. Boreskoff wrote:
> Can someone explain how list of plugins for Decode As is chosen.

It's not a list of plugins, it's a list of protocols; it includes both
plugin and non-plugin dissectors.

The list of protocols for a given item (Ethernet type, IP protocol, TCP
or UDP port) is constructed from the list of dissectors that have
registered themselves with particular Ethernet type values, IP protocol
values, TCP port numbers, or UDP port numbers, or that have registered
themselves as being potential dissectors for particular Ethernet type
values, IP protocol values, TCP port numbers, or UDP port numbers.

> The problem is that when I remove plugin from port Ethereal still suggests
> using this plugin in Decode As.

What do you mean by "remove plugin from port"?

> Is there any way for plugin to be included in Decode As list ?

Either register it with a TCP or UDP port value with "dissector_add()",
or register it as a potential TCP or UDP port dissector with
"dissector_add_handle()", e.g.

	foo_handle = create_dissector_handle(dissect_foo, proto_foo);
        dissector_add_handle("udp.port", foo_handle);

to specify that the dissector for the Foo protocol could be used to
dissect UDP traffic.