I've got it. I did not compile the ethereal.exe executable, but only the
dissector. The ethereal.exe was version 0.10.0, the trunk is version 0.10.5.
After compiling most of the project I got it running. A feew changes in the
makefile give me the chance to debug through the ethereal code.
How is the dependency between Ethereal version and plugin version? Can this
be solved in a more flexible way?
/Helge
ULFL wrote:
Helge Kruse wrote:
> Hello,
>
> I write a dissector for a protocol on UDP. In the plugin_init function
> I call
>
[...]
>
> The DissectorFunc is called for all UDP packets from/to UDP port 2001
> but for none UDP packet from/to port 2002. This does not change, when
> I exchange the two dissector_add calls or remove the first call.
>
> When I select "Decode As" and assign the protocol to the UDP port
> 2002, the DissectorFunc is called and the packet is displayed as expected.
>
> I have no clue, what is wrong. Can you give advise?
>
It seems to be ok what you are doing, some other dissectors are doing it
the same way.
I would think you have a bug somewhere at registering the stuff in your
proto_register_... function, so Ethereal's internal data gets a bit
confused.
You may try to reduce the stuff in your registering function to a
minimum and see if the problem still remains.
Regards, ULFL