diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-08-28 12:46:11 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-08-28 19:46:41 +0000 |
commit | da266af7108262a82eb66ea577997a5830dde17e (patch) | |
tree | 6e5e7cbca08b64021657a53aa42d062f6d9bc84d /epan/dissectors/packet-ieee80211.h | |
parent | 42570f96f9d41099f959582c5b99aa552400beed (diff) |
Don't check the radio information when testing for an HT Control header.
I now read 8.2.4.1.10 "Order field" in 802.11-2012 as saying that, in
management and QoS data frames, the Order bit shouldn't be set for
non-HT, non-VHT frames, so we can just test it for those frame types
without bothering to check the radio metadata to see if the frame is an
HT or VHT frame.
This handles cases where the radio metadata isn't complete, e.g. an HT
frame with a radiotap header but no MCS field.
Handle this for *all* QoS data frames when capturing.
Get rid of the "fixed-length link-layer header" stuff; it's not being
used.
Fix a case where we're appending text to a tree item without a space
separating it from the previous text.
Bug: 11351
Change-Id: I980f5b7509603b0c22c297fddc19434c08817913
Reviewed-on: https://code.wireshark.org/review/10288
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/dissectors/packet-ieee80211.h')
-rw-r--r-- | epan/dissectors/packet-ieee80211.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/epan/dissectors/packet-ieee80211.h b/epan/dissectors/packet-ieee80211.h index 6f0b56a454..9d47e8947a 100644 --- a/epan/dissectors/packet-ieee80211.h +++ b/epan/dissectors/packet-ieee80211.h @@ -34,8 +34,6 @@ extern "C" { WS_DLL_PUBLIC void capture_ieee80211 (const guchar *, int, int, packet_counts *); void capture_ieee80211_datapad (const guchar *, int, int, packet_counts *); -void capture_ieee80211_fixed (const guchar *, int, int, packet_counts *); -void capture_ieee80211_ht (const guchar *, int, int, packet_counts *); WS_DLL_PUBLIC void capture_prism(const guchar *, int, int, packet_counts *); @@ -140,7 +138,7 @@ gboolean is_broadcast_bssid(const address *bssid); * Test bits in the flags field. */ /* - * XXX - Only HAVE_FRAGMENTS, IS_PROTECTED, and IS_STRICTLY_ORDERED + * XXX - Only HAVE_FRAGMENTS, IS_PROTECTED, and HAS_HT_CONTROL * are in use. Should the rest be removed? */ #define IS_TO_DS(x) ((x) & FLAG_TO_DS) @@ -150,7 +148,8 @@ gboolean is_broadcast_bssid(const address *bssid); #define POWER_MGT_STATUS(x) ((x) & FLAG_POWER_MGT) #define HAS_MORE_DATA(x) ((x) & FLAG_MORE_DATA) #define IS_PROTECTED(x) ((x) & FLAG_PROTECTED) -#define IS_STRICTLY_ORDERED(x) ((x) & FLAG_ORDER) +#define IS_STRICTLY_ORDERED(x) ((x) & FLAG_ORDER) /* non-QoS data frames */ +#define HAS_HT_CONTROL(x) ((x) & FLAG_ORDER) /* management and QoS data frames */ /* * Extract subfields from the flags field. |