On Fri, Feb 22, 2008 at 02:24:38AM +0000, MKS {} wrote:
> I am writing a dissector for a protocol that sits on top of TCP. The
> ports on which the messages maybe sent or recieved are several and
> need to be configurable.
>
> One way I of achieving this is to have a config file with all the port
> numbers listed, and invoke the "dissector_add" fn for each of those
> ports.
How about making a preference option to let the user configure the
ports? See the HTTP dissector (epan/dissectors/packet-http.c) for an
example of how to do this.
> I wanted to know if there was a way I could achieve the same effect
> using the pattern matching in the dissector_add function e.g if the
> protocol has field called "bar" which is always set to 25, for
> messages of this protocol could I do the following:
>
> dissector_add("fooHeader.bar", 25, foo_handle)?
>
> When I try this, it the function find_dissector_table fails to find
> the table corresponding the name "fooHeader.bar" in packet.c
Right, because there is not a table for every field of a protocol.
Steve