On Sep 9, 2003, at 9:58 AM, Grenville and Benita Fernandes wrote:
Firstly, I am not a developer. However, to try
and figure out how things work in Ethereal, I was
modifying parts of the code for the HSRP dissector. I
then decided that I wanted to get rid of
packet-hsrp.c, and put in my own version,
packet-myhsrp.c.
Well, you've modified Ethereal code, so you're a developer now. :-)
1. I modified Makefile.am and Makefile.nmake, and did
a `make'. For some reason, when I looked at
Makefile.in, I could see the old hsrp and not my new
code. I did a lot of searching, found some link to
autogen.sh, ran it and somehow it worked, and I got a
packet-myhsrp.o after running make. If someone could
explain why it worked after running autogen.sh, that
would be great.
A "make" in that situation has always regenerated Makefile.in, and
Makefile, for me.
However, I build from CVS, not from a release tarball; it might be that
the release tarball version (which is different - the GNU automake
stuff generates a Makefile.in with a "dist" rule that generates a
release tarball that doesn't require all the tools that the CVS version
does, so that you can distribute your software to people who don't have
all the GNU auto* stuff installed) doesn't make Makefile.in dependent
on Makefile.am (perhaps because, as per the previous parenthetical
note, they don't want to depend on the user having the GNU auto* stuff
installed).
More importantly, now I have my HSRP code in, but when
I decode HSRP packets, it still decodes using the
original HSRP code. ( I know, because I modified all
the text that should be in the info columns )
If you have more than one dissector registering for the same "port"
number, you might not get the one you want. Did you really get rid of
packet-hsrp.c - and packet-hsrp.o, and the reference to packet-hsrp.c
in Makefile.am? If not, either
1) do so
or
2) call your "packet-myhsrp.c" just "packet-hsrp.c", and put the
original Makefile.am back
so that Ethereal doesn't have both dissectors in it.
Perhaps you didn't actually get rid of packet-hsrp.c - try removing it
and packet-hsrp.o, removing it fr