One simple fix would be to change the dissectors to return a boolean stating
whether or not they handled the packet. Then the disector call could loop
through all the handlers till one handled it.
For my fix it would be easy.
1) Modify all dissectors to return TRUE (handled).
2) Modify packet-radius to return false if first byte is 0xfe.
3) Modify packet-diameter to return false if first byte is NOT 0xfe.
Shouldn't take very long at all . . . opinions?
On Wed, Jun 28, 2000 at 10:43:43AM +0900, Richard Sharpe wrote:
> At 04:43 PM 6/27/00 -0500, David Frascone wrote:
> >
> >I just wrote a plugin for the DIAMETER protocol (www.diameter.org), and I'd
> >like to putback my changes.
> >
> >But, I do have a couple of questions:
> >
> >1) DIAMETER can run on any port (it's configurable), and the most common
> > port to run on is the RADIUS port. How can I register two protocols
> > types to the same UDP port? (If it is a DIAMETER message, the first
> > byte is 0xfe) For now, I'm using a secondary port, 2645.
>
> Actually, there is another issue here. It would be useful if we could pass
> information in on the command line (or in the preferences file) saying to
> associate a particular protocol with a particular port. For people who are
> testing their protocol implementation on a different port than correct one
> no changes would be required to Ethereal to debug their code.
>
> >Dave
> >
>
> Regards
> -------
> Richard Sharpe, sharpe@xxxxxxxxxx
> Samba (Team member, www.samba.org), Ethereal (Team member, www.zing.org)
> Co-author, SAMS Teach Yourself Samba in 24 Hours
> Author: First Australian 5-day, intensive, hands-on Linux SysAdmin course
> Author: First Australian 2-day, intensive, hands-on Samba course