diff options
author | Guy Harris <guy@alum.mit.edu> | 2001-12-03 08:47:31 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2001-12-03 08:47:31 +0000 |
commit | c22d3fdc96ececf2318f7f04b790866b8add4407 (patch) | |
tree | 5bfef0321ca6a449ecb44ec7e0d6d4221522a3c1 /packet-tcp.c | |
parent | 21b9a88b2942558536c9b0f5191261a874b8034a (diff) | |
download | wireshark-c22d3fdc96ececf2318f7f04b790866b8add4407.tar.gz wireshark-c22d3fdc96ececf2318f7f04b790866b8add4407.tar.bz2 wireshark-c22d3fdc96ececf2318f7f04b790866b8add4407.zip |
Get rid of the lists of conversation dissectors; instead, have a
dissector table contain both a hash table, to use to look up port
numbers to find a dissector, and a list of all dissectors that *could*
be assigned to ports in that hash table, to be used by user interface
code.
Make the "Decode As" dialog box code use that.
Also make it *not* let you choose whether to set the dissector for both
the UDP and TCP versions of a port; some protocols run only atop TCP,
some run only atop UDP, and even those that can run atop both may have
different dissector handles to use over TCP and UDP, so handling a
single merged list would be a mess. (If the user is setting the
dissector for a TCP port, only those protocols that Ethereal can handle
over TCP should be listed; if the user is setting the dissector for a
UDP port, only those protocols that Ethereal can handle over TCP should
be listed; if the user is setting a dissector for both, only those
protocols that Ethereal can handle over *both* TCP *and* UDP should be
listed, *and* there needs to be a way to let the "Decode As" code get
both the TCP handle *and* the UDP handle and use the right ones. If
somebody really wants that, they need to implement all of the above if
they want the code to be correct.)
Fix the code that handles setting the dissection for the IP protocol
number to correctly update the lists of protocols being dissected as TCP
and as UDP; the code before this change wasn't updating the single such
list to add new protocols.
svn path=/trunk/; revision=4311
Diffstat (limited to 'packet-tcp.c')
-rw-r--r-- | packet-tcp.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/packet-tcp.c b/packet-tcp.c index 06e98f1940..269ecf2b8b 100644 --- a/packet-tcp.c +++ b/packet-tcp.c @@ -1,7 +1,7 @@ /* packet-tcp.c * Routines for TCP packet disassembly * - * $Id: packet-tcp.c,v 1.119 2001/12/03 03:59:40 guy Exp $ + * $Id: packet-tcp.c,v 1.120 2001/12/03 08:47:27 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -88,7 +88,6 @@ static gint ett_tcp_segments = -1; static dissector_table_t subdissector_table; static heur_dissector_list_t heur_subdissector_list; -static conv_dissector_list_t conv_subdissector_list; static dissector_handle_t data_handle; /* TCP structs and definitions */ @@ -1210,7 +1209,6 @@ proto_register_tcp(void) /* subdissector code */ subdissector_table = register_dissector_table("tcp.port"); register_heur_dissector_list("tcp", &heur_subdissector_list); - register_conv_dissector_list("tcp", &conv_subdissector_list); /* Register configuration preferences */ tcp_module = prefs_register_protocol(proto_tcp, NULL); |