aboutsummaryrefslogtreecommitdiffstats
path: root/packet-tcp.c
diff options
context:
space:
mode:
authorsahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2003-11-06 09:18:46 +0000
committersahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2003-11-06 09:18:46 +0000
commitffb6fbe8fd649a350dc455599d7b75e3338df78d (patch)
treecfe9cb0a01b0cbe388dbafc473faa3c111c86576 /packet-tcp.c
parenta1bf50266869a2ed2e75e3a273cdf4612546ad7b (diff)
Update to LDAP and TCP
LDAP messages that span multiple segments will throw an exception unless we have reassembly enabled. Update TCP so that IF an exception was thrown that we still pick up any hints provided by the subdissector about where the next PDU starts. Update LDAP so that it will rpovide hints to TCP about where the next LDAP PDU starts in the sequence number space. Thus now ethereal can find and dissect LDAP PDUs that starts somewhere in the middle of a TCP segment. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@8895 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-tcp.c')
-rw-r--r--packet-tcp.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/packet-tcp.c b/packet-tcp.c
index c0c413e0d9..1568197538 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.212 2003/11/06 08:51:21 sahlberg Exp $
+ * $Id: packet-tcp.c,v 1.213 2003/11/06 09:18:46 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -2313,7 +2313,6 @@ decode_tcp_ports_exception(tvbuff_t *tvb, int offset, packet_info *pinfo,
end_decode_tcp_ports:
/* if !visited, check want_pdu_tracking and store it in table */
/* XXX fix nxtseq so that it always has valid content and skip the ==0 check */
- /* XXX we will need this one down in the exception handling as well soon */
if((!pinfo->fd->flags.visited) && nxtseq && tcp_analyze_seq && pinfo->want_pdu_tracking){
pdu_store_sequencenumber_of_next_pdu(pinfo, nxtseq+pinfo->bytes_until_next_pdu);
}
@@ -2341,6 +2340,12 @@ decode_tcp_ports(tvbuff_t *tvb, int offset, packet_info *pinfo,
if(tcp_analyze_seq){
tcp_print_sequence_number_analysis(pinfo, tvb, tcp_tree);
}
+ /*
+ * if !visited, check want_pdu_tracking and store it in table
+ */
+ if((!pinfo->fd->flags.visited) && nxtseq && tcp_analyze_seq && pinfo->want_pdu_tracking){
+ pdu_store_sequencenumber_of_next_pdu(pinfo, nxtseq+pinfo->bytes_until_next_pdu);
+ }
RETHROW;
}
ENDTRY;