aboutsummaryrefslogtreecommitdiffstats
path: root/packet-ieee80211.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2003-08-28 04:19:29 +0000
committerGuy Harris <guy@alum.mit.edu>2003-08-28 04:19:29 +0000
commita2246980423a0f99fdfd45fccf229eb5fc3263b3 (patch)
tree7de7a1b7c6732a147c2d02b7f228baf1b5131637 /packet-ieee80211.c
parentf3d64a2c3834a26a87ec266a4397f43b21b62a70 (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.c34
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