summaryrefslogtreecommitdiff
path: root/epan/conversation.h
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2000-10-21 09:54:12 +0000
committerGuy Harris <guy@alum.mit.edu>2000-10-21 09:54:12 +0000
commit86ceeff7dbaa78d3ec5d8773b7f77d856053ace3 (patch)
tree2ae19e73d7ff9fe639c00cc123f760bcc034dd77 /epan/conversation.h
parent109721d54322cd554256cfea5fb27199ef9145be (diff)
downloadwireshark-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.h5
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;