diff options
author | Guy Harris <guy@alum.mit.edu> | 2000-10-21 09:54:12 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2000-10-21 09:54:12 +0000 |
commit | 86ceeff7dbaa78d3ec5d8773b7f77d856053ace3 (patch) | |
tree | 2ae19e73d7ff9fe639c00cc123f760bcc034dd77 /epan/conversation.h | |
parent | 109721d54322cd554256cfea5fb27199ef9145be (diff) | |
download | wireshark-86ceeff7dbaa78d3ec5d8773b7f77d856053ace3.tar.gz |
Wildcard matching is tricky - you have to try wildcarding both the
source *and* destination port and/or both the source *and* destination
address passed to "find_conversation()", because the packet for which
you're trying to find the conversation may be going in the opposite
direction to the packet for which the conversation was originally
created.
Create different hash tables for wildcarded conversations, to reduce the
number of "is this a wildcard?" tests done when doing hash lookups.
This is sufficient to allow the TFTP dissector to use conversations
rather than being special-cased in the UDP dissector, and may also be
sufficient to handle a similar problem with SMTP (request goes from
client IP X port Y to server IP Z's well-known port, reply comes back
from some other port on server Z to client IP X port Y), but further use
may reveal other changes that should be made.
svn path=/trunk/; revision=2525
Diffstat (limited to 'epan/conversation.h')
-rw-r--r-- | epan/conversation.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/epan/conversation.h b/epan/conversation.h index 35b18f69d6..6e1878e8cd 100644 --- a/epan/conversation.h +++ b/epan/conversation.h @@ -1,7 +1,7 @@ /* conversation.h * Routines for building lists of packets that are part of a "conversation" * - * $Id: conversation.h,v 1.2 2000/10/21 05:52:28 guy Exp $ + * $Id: conversation.h,v 1.3 2000/10/21 09:54:12 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -43,7 +43,6 @@ typedef struct conversation_key { port_type ptype; guint32 port_src; guint32 port_dst; - guint options; } conversation_key; typedef struct conversation { @@ -55,7 +54,7 @@ typedef struct conversation { old_dissector_t old_d; dissector_t new_d; } dissector; /* protocol dissector client can associate with conversation */ - + guint options; /* wildcard flags */ conversation_key *key_ptr; /* pointer to the key for this conversation */ } conversation_t; |