aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/snoop.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2015-06-20 15:57:57 -0700
committerGuy Harris <guy@alum.mit.edu>2015-06-20 23:02:21 +0000
commit2895d58dc38321a72c82e1bf77d165ef4acbc73a (patch)
tree1091e87a52bf3c266edeb282f7baa7deea13fbd6 /wiretap/snoop.c
parent77ed0387c6e03d9667a56ab5effca755bac78df2 (diff)
Call the "802.11 radio information" dissector for radio headers.
Have dissectors of various forms of radio information headers in the packets fill in a struct ieee_802_11_phdr with radio information as appropriate, and call the "802.11 radio information" dissector rather than the raw 802.11 dissector. This means that the radio information can be found in a protocol-independent and encapsulation-independent form when you're looking at the packet; that information can be presented in a form somewhat easier to read than the raw metadata header format. It also enables having a single "radio information" tap that allows statistics to handle all different sorts of radio information encapsulation. In addition, it lets us clean up some of the arguments passed to the common 802.11 dissector routine, by having it pull that information from the struct ieee_802_11_phdr. Ensure that the right structure gets passed to that routine, and that all the appropriate parts of that structure are filled in. Rename the 802.11 radio protocol to "wlan_radio", rather than just "radio", as it's 802.11-specific. Give all its fields "wlan_radio." names rather than "wlan." names. Change-Id: I78d79afece0ce0cf5fc17293c1e29596413b31c8 Reviewed-on: https://code.wireshark.org/review/8992 Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'wiretap/snoop.c')
-rw-r--r--wiretap/snoop.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/wiretap/snoop.c b/wiretap/snoop.c
index 005a5832a9..b50912da05 100644
--- a/wiretap/snoop.c
+++ b/wiretap/snoop.c
@@ -738,11 +738,13 @@ snoop_read_shomiti_wireless_pseudoheader(FILE_T fh,
if (file_seek(fh, rsize, SEEK_CUR, err) == -1)
return FALSE;
+ pseudo_header->ieee_802_11.fcs_len = 4;
+ pseudo_header->ieee_802_11.decrypted = FALSE;
+ pseudo_header->ieee_802_11.datapad = FALSE;
pseudo_header->ieee_802_11.presence_flags =
PHDR_802_11_HAS_CHANNEL |
PHDR_802_11_HAS_DATA_RATE |
PHDR_802_11_HAS_SIGNAL_PERCENT;
- pseudo_header->ieee_802_11.fcs_len = 4;
pseudo_header->ieee_802_11.channel = whdr.channel;
pseudo_header->ieee_802_11.data_rate = whdr.rate;
pseudo_header->ieee_802_11.signal_percent = whdr.signal;