Don't defragment packets that aren't fragmented.

Note that we've seen weird sequence numbers for login packets.

svn path=/trunk/; revision=9452
This commit is contained in:
Guy Harris 2003-12-27 02:17:22 +00:00
parent 935b5e5329
commit 83887ebd3a
1 changed files with 7 additions and 2 deletions

View File

@ -3,7 +3,7 @@
* Copyright 2000-2002, Brian Bruns <camber@ais.org>
* Copyright 2002, Steve Langasek <vorlon@netexpress.net>
*
* $Id: packet-tds.c,v 1.19 2003/08/28 04:19:29 guy Exp $
* $Id: packet-tds.c,v 1.20 2003/12/27 02:17:22 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -993,13 +993,18 @@ dissect_netlib_buffer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
* Deal with fragmentation.
*/
save_fragmented = pinfo->fragmented;
if (tds_defragment) {
if (tds_defragment &&
(packet_number != 1 || status == STATUS_NOT_LAST_BUFFER)) {
if (status == STATUS_NOT_LAST_BUFFER) {
if (check_col(pinfo->cinfo, COL_INFO))
col_append_str(pinfo->cinfo, COL_INFO,
" (Not last buffer)");
}
len = tvb_reported_length_remaining(tvb, offset);
/*
* XXX - I've seen captures that start with a login
* packet with a sequence number of 2.
*/
fd_head = fragment_add_seq_check(tvb, offset, pinfo, channel,
tds_fragment_table, tds_reassembled_table,
packet_number - 1, len, status == STATUS_NOT_LAST_BUFFER);