diff options
author | Guy Harris <guy@alum.mit.edu> | 2003-08-28 04:19:29 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2003-08-28 04:19:29 +0000 |
commit | a2246980423a0f99fdfd45fccf229eb5fc3263b3 (patch) | |
tree | 7de7a1b7c6732a147c2d02b7f228baf1b5131637 /packet-ieee80211.c | |
parent | f3d64a2c3834a26a87ec266a4397f43b21b62a70 (diff) |
Make "process_reassembled_data()" do the check for fragmentation not
being complete and for fragmentation being trivial (i.e., the packet in
question is both the first and last fragment). Have its callers *not*
do that check - this lets "process_reassembled_data()" put in the
"Reassembled in" item for fragments other than the last fragment.
Add a "Reassembled in" field to TDS.
svn path=/trunk/; revision=8295
Diffstat (limited to 'packet-ieee80211.c')
-rw-r--r-- | packet-ieee80211.c | 34 |
1 files changed, 4 insertions, 30 deletions
diff --git a/packet-ieee80211.c b/packet-ieee80211.c index d44b232c77..1ad7822ee7 100644 --- a/packet-ieee80211.c +++ b/packet-ieee80211.c @@ -3,7 +3,7 @@ * Copyright 2000, Axis Communications AB * Inquiries/bugreports should be sent to Johan.Jorgensen@axis.com * - * $Id: packet-ieee80211.c,v 1.95 2003/08/26 06:18:17 guy Exp $ + * $Id: packet-ieee80211.c,v 1.96 2003/08/28 04:19:28 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -1893,35 +1893,9 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo, frag_number, reported_len, more_frags); - if (fd_head != NULL) { - /* - * Either this is reassembled or it wasn't fragmented - * (see comment above about some networking interfaces). - * In either case, it's now in the table of reassembled - * packets. - * - * If the "fragment_data" structure doesn't have a list of - * fragments, we assume it's a placeholder to mark those - * not-really-fragmented packets, and just treat this as - * a non-fragmented frame. - */ - if (fd_head->next != NULL) { - next_tvb = process_reassembled_data(tvb, pinfo, "Reassembled 802.11", - fd_head, &frag_items, NULL, hdr_tree); - } else { - /* - * Not fragmented, really. - * Show it as a regular frame. - */ - next_tvb = tvb_new_subset (next_tvb, hdr_len, len, reported_len); - } - - /* It's not fragmented. */ - pinfo->fragmented = FALSE; - } else { - /* We don't have the complete reassembled payload. */ - next_tvb = NULL; - } + next_tvb = process_reassembled_data(tvb, hdr_len, pinfo, + "Reassembled 802.11", fd_head, + &frag_items, NULL, hdr_tree); } else { /* * If this is the first fragment, dissect its contents, otherwise |