Ethereal-dev: Re: [Ethereal-dev] Re: [Ethereal-users] H.323? is there a version for Windows

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxx>
Date: Fri, 22 Feb 2002 18:34:56 -0800
Damn, I meant to postpone that message, and ended up sending it instead.
Here's another try:

On Tue, Feb 19, 2002 at 02:10:42AM -0800, Guy Harris wrote:
> Not currently, but we can add the relevant routine to the plugin API
> vector ("conversation_set_dissector()" - "find_dissector()",
> "find_conversation()', and "conversation_new()" are already there).

In the CVS version of Ethereal, "conversation_set_dissector()" is now
callable from plugins.

> > > TPKT is both a dissector (for port 102, as per RFC 1006) and a set of
> > > service routines for other dissectors to use.
> > 
> > I know, I wrote the first implementation, but can I get to the service
> > routines from inside a plugin?
> 
> You won't need to with my proposed scheme - the TPKT dissector would
> decide whether it sees a TPKT header or not, and would only call the
> subdissector's "check" routine if it sees one (so the subdissector
> wouldn't need to call the "is this TPKT?" routine), and would also put
> the TPKT header into the protocol tree and set up the tvbuff for the
> "dissect" routine (so the subdissector wouldn't need to call the
> "dissect a TPKT header" routine).

I decided to go with a different scheme - but, as the first segment of a
TPKT PDU may only tell you that it's a TPKT PDU, not what's inside the
TPKT PDU, that scheme won't work, as you won't necessarily know which
protocol *atop* TPKT is inside the stream, so I'll look at implementing
the other scheme.

I want to get that into the next release.