Hi,
1,
dont use armagetronad_descriptor, use
a value_string as all other dissectors do.
That will remove the need for get_descriptor() as well since you would
use val_to_str() instead.
2,
add_message_data() : rewrite it completely.
Do not use tvb_memdup(), do not read directly from this buffer.
IF the fields are of type little-endian 16 bit integers, read them
one by one using tvb_get_letohs()
3,
dissect_armagetronad()
change this dissector to become a "new" style dissector i.e. first
doing some heuristics and testing if it really is armagetroinad or not
and return 0 if not.
see packet-snmp.c for how this is done for snmp over udp.
4,
Do you really need to specify it as a heuristic dissector as well?
If it uses a fixed port normally, just leave it as a normal dissector
attached to a port, then if the user wants to, he can always do a
DecodeAs and specify a different non-standard port for it.
On 5/5/05, Guillaume Chazarain <guichaz@xxxxxxxx> wrote:
> Hi,
>
> Here is an ethereal dissector for the Armagetron Advanced OpenGL game,
> previously known as Armagetron (http://armagetron.sf.net).
>
> This project is becoming the best free network game ;-)
>
> Please note that I am not a developer in this project.
>
> Kind regards.
>
> --
> Guillaume
>
>
>