Ethereal-dev: Re: [Ethereal-dev] Bad conversation data in socks dissector

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

From: Guy Harris <gharris@xxxxxxxxxxxx>
Date: Mon, 8 Jan 2001 20:26:48 -0800
On Mon, Jan 08, 2001 at 12:48:56PM -0600, Jeff Foster wrote:
> The bigger problem, how to keep this cross-talk between 
> conversational dissectors from happening?  I'm suggesting
> that all conversation dissectors set the dissector with 
> the conversation_set_dissector call.

By "conversation dissector" do you mean "dissector that creates a
conversation", so that it'd make itself the dissector for all subsequent
packets in the conversation, even if the other port happens to be
assigned to another protocol that Ethereal dissects?

If so, that sounds reasonable, although doing so only if the dissector
in question creates a conversation may not be sufficient to avoid
problems - if you had a TCP conversation between ports X and Y, and both
ports X and Y are well-known or registered ports for protocols for which
Ethereal has a dissector, you could end up with the same sort of
ping-ponging, albeit with that particular problem with state
information.

(Ultimately, we will probably want a conversation structure for *every*
TCP connection, for the benefit of TCP byte stream reassembly, and when
we do that we might as well use it for "Follow TCP Stream" as well.)