aboutsummaryrefslogtreecommitdiffstats
path: root/packet-nbns.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2004-02-24 09:40:38 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2004-02-24 09:40:38 +0000
commitc47f73364b4c49335aa98def950dab6ace7c1f30 (patch)
tree314e08757664aade5811dfcf624a4e28c295bb2e /packet-nbns.c
parent6da5fdfaf44fe09915fd60f853528a48f6e9a366 (diff)
with the cahnges to when to call the heuristic dissector
(and the fact that nbss does not register its conversation) this caused WANT_PDU_TRACKING to be decremented multiple times between the dissectors and thus ethereal could no longer reliably spot SMB PDUs that started in the middle of a tcp segment (unless we do reassembly which we dont do unless we have to since it eats soo many resources) FIX so that ethereal once again can spot SMB (and other) protocol PDUs that start in the middle of a segment. svn path=/trunk/; revision=10219
Diffstat (limited to 'packet-nbns.c')
-rw-r--r--packet-nbns.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/packet-nbns.c b/packet-nbns.c
index 39ef694a19..42738184ac 100644
--- a/packet-nbns.c
+++ b/packet-nbns.c
@@ -3,7 +3,7 @@
* to when it had only NBNS)
* Guy Harris <guy@alum.mit.edu>
*
- * $Id: packet-nbns.c,v 1.82 2004/01/06 02:42:50 guy Exp $
+ * $Id: packet-nbns.c,v 1.83 2004/02/24 09:40:38 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1409,6 +1409,17 @@ dissect_nbss_packet(tvbuff_t *tvb, int offset, packet_info *pinfo,
length += 65536;
}
+ /* give a hint to TCP where the next PDU starts
+ * so that it can attempt to find it in case it starts
+ * somewhere in the middle of a segment.
+ */
+ if(!pinfo->fd->flags.visited){
+ if((length+4)>tvb_reported_length_remaining(tvb, offset)){
+ pinfo->want_pdu_tracking=2;
+ pinfo->bytes_until_next_pdu=(length+4)-tvb_reported_length_remaining(tvb, offset);
+ }
+ }
+
/*
* Can we do reassembly?
*/