aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ieee80211.c
AgeCommit message (Collapse)AuthorFilesLines
2023-03-08ieee80211: Add a field for WLAN FlagsStig Bjørlykke1-0/+9
Add the frame control flags string to a new field. This can be used in a custom column, similar to TCP Flags.
2023-03-06Add Wi-SUN IEEE 802.11 KDE dissectorMathis Marion1-1/+169
This adds the following KDEs defined by the Wi-SUN FAN specification: - Pairwise Transient Key KDE (PTKID) - Group Transient Key Liveness KDE (GTKL) - Node Role KDE (NR) - LFN Group Transient Key KDE (LGTK) - LFN Group Transient Key Liveness KDE (LGTKL)
2023-03-06Support Wi-SUN EAPOL Key Data dissectionMathis Marion1-1/+8
The Wi-SUN FAN specification describes the format of the EAPOL-Key frame in section 6.5.2.2 (Authentication and PMK Installation Flow): Descriptor Type = 2 Key Information: 1. Key Descriptor Version = 2 2. Key Type = 0 3. Install = 0 4. Key Ack = 0 5. Key MIC = 0 6. Secure = 0 7. Error = 0 8. Request = 1 9. Encrypted Key Data = 0 10. SMK Message = 0 11. Reserved = 0 Key Length = 0 Key Replay Counter = see [IEEE802.11] section 11.6.2. Key Nonce = 0 EAPOL-Key IV = 0 Key RSC = 0 Key MIC = 0 Key Data Length = length of Key Data field in octets. Key Data = PMKID KDE if the PMK is live, PTKID KDE if the PTK is live, GTKL KDE, Node Role KDE, and LGTKL KDE. The current dissector will try do decrypt if the Key Type is 0 while the Encrypted Key Data is unset, which appears to be for supporting non-standard WPA implementations. The Key Data is not encrypted in Wi-SUN, so a workaround is made to dissect the Key Data if the Key Length is 0.
2023-03-06ieee80211: Save AKM_KEY for tag number 221Stig Bjørlykke1-0/+1
Tag number 221 (Microsoft WPA Information Element) contains an AKM type. Save this to fix wlan decryption when this tag is used by Access Point.
2023-02-20ieee80211: Fix Short SSID encodingsJosh Schmelzle1-2/+2
Change ENC_NA to ENC_LITTLE_ENDIAN for following Short SSID items: - hf_ieee80211_ff_fils_discovery_short_ssid - hf_ieee80211_short_ssid
2023-01-31More fussing with items and calls.Martin Mathieson1-24/+24
2022-12-20WLAN: fix a couple of warnings from check_typed_item_calls.pyMartin Mathieson1-2/+2
2022-12-19WLAN: fix a conflicting entry for value_stringMartin Mathieson1-1/+1
2022-12-15tools/check_typed_item_calls: check FT_BOOLEAN mask lengthMartin Mathieson1-11/+11
2022-12-14ieee80211: fix typo for encodingAlexis La Goutte1-4/+4
2022-12-14ieee80211: fix trailing whitespaceAlexis La Goutte1-1/+1
2022-12-14ieee80211: Add Location Civic (Measurement Report)Alexis La Goutte1-1/+123
2022-12-14ieee80211: Add Location Civic (Measurement Request)Alexis La Goutte1-1/+37
2022-12-14ieee80211: Add Usage Rules/Policy SubelementAlexis La Goutte1-0/+62
for LCI Report
2022-12-14ieee80211: Add Measurement Request LCI Report dissectionAlexis La Goutte1-1/+152
2022-12-14ieee80211: Update Measurement Request/Report value_stringAlexis La Goutte1-12/+30
From 802.11-2020.pdf
2022-12-14ieee80211: Add Measurement Request LCI Request dissectionAlexis La Goutte1-1/+19
2022-12-09ieee80211: Fix SAE Confirm dissectingChien Wong1-2/+1
IEEE 802.11-2020, Section 12.4.7.6 says that an SAE Confirm message, with a status code not equal to SUCCESS, shall indicate that a peer rejects a previously sent SAE Confirm message. In this case, the Confirm message may not carry a Send-Confirm field or a Confirm field, as hostapd does. So we simply ignore possible fields following Status code. Signed-off-by: Chien Wong <m@xv97.com>
2022-11-30wmem: Remove wmem_strbuf_new_label()João Valverde1-1/+1
Only dissectors are using this function and there is no use case, as far as I know, that requires its use. Any limitation of length is imposed transparently by the UI backend. This function is problematic because it is not Unicode aware and will truncate a string on an arbitrary byte boundary for multibyte strings. Replace its use with a normal strbuf without a length limite and remove the function because it is not useful and the ITEM_LABEL_LENGTH parameter does not belong in wmem anyway.
2022-11-25802.11: Remove artificial string truncationJoão Valverde1-2/+2
The wmem_strbuf_new_label() creates a new buffer with a length limit in octets. With multibyte strings this is likely to generate invalid UTF-8 errors. Remove the artificial limit on the value size. The function proto_tree_add_string() sets the value, and truncating that to an arbitrary limit is not really correct. The display label will be truncated to a preset length by the UI. This mechanism uses ws_label_strcpy() and is designed to avoid the invalid truncation. While here use wmem_strbuf_get_str() instead of wmem_strbuf_finalize(). Accepted best practice is to let the scope free the memory. Removing the finalize call avoids an unnecessary realloc. Fixes #18653.
2022-11-23ieee80211: Fix an CLang warning about dead code in my recent MR.Richard Sharpe1-5/+0
2022-11-21Zieee80211: Provide compressed feedback matrices for VHT as well as HE.Richard Sharpe1-93/+38
!18574
2022-11-21ieee80211: Beamforming fixesRichard Sharpe1-12/+0
2022-11-10IEEE 802.11: random addresses in conversations and endpointsChuck Craft1-5/+19
https://ask.wireshark.org/question/29235/ MAC addresses shown in WLAN statistics do not appear in the capture! Initialize the address types then check if set when tapping.
2022-11-09ieee80211: Use FT_STRING for HS 2.0 OSU NAIAlexis La Goutte1-2/+2
Fix 18610
2022-11-02Fix some spelling errorsMartin Mathieson1-1/+1
2022-11-02ieee80211: add a dissector for the protected EHT EML OP MODE notifEmmanuel Grumbach1-0/+125
This an action frame to update the EMLSR / EMLMR mode. This adds partial support for this frame. It is fairly hairy to parse it because of its variable format, so for now, just parse the EMLSR part and leave the EMLMR part for later.
2022-10-31ieee80211: remove duplicate entryAlexis La Goutte1-3/+0
packet-ieee80211.c:33184 hf_ieee80211_addr_ta called consecutively at line 33184 - previous at 33183
2022-10-31ieee80211: fix item type is FT_UINTY but call has len XAlexis La Goutte1-5/+5
packet-ieee80211.c:10060 proto_tree_add_item called for hf_ieee80211_hs20_icons_avail_len - item type is FT_UINT8 but call has len 2 packet-ieee80211.c:11869 proto_tree_add_item called for hf_ieee80211_ff_key_data_length - item type is FT_UINT8 but call has len 2 packet-ieee80211.c:21328 proto_tree_add_item called for hf_ieee80211_s1g_short_beacon_interval - item type is FT_UINT8 but call has len 2 packet-ieee80211.c:32379 proto_tree_add_item called for hf_ieee80211_pentapartial_timestamp - item type is FT_UINT8 but call has len 5 packet-ieee80211.c:32932 proto_tree_add_item called for hf_ieee80211_pv1_cnt_bat_bitmap - item type is FT_UINT16 but call has len 4
2022-10-31ieee80211: fix mask has odd number of digitsAlexis La Goutte1-2/+2
packet-ieee80211.c filter= wlan.he_ndp.sta_info.ru_start - mask has odd number of digits 0x3F800 expected max for FT_UINT32 is 8 packet-ieee80211.c filter= wlan.he_ndp.sta_info.ru_end - mask has odd number of digits 0x1FC0000 expected max for FT_UINT32 is 8
2022-10-31ieee80211: fix filter "wlan.fixed.publicact" appears consecutivelyAlexis La Goutte1-1/+2
/packet-ieee80211.c: - filter "wlan.fixed.publicact" appears consecutively - labels are "Public Action"" and "Protected Public Action""
2022-10-25IEEE 802.11: Fix a length check.Gerald Combs1-2/+1
Fix a length check issue introduced in 85a9e05c52.
2022-10-24IEEE 802.11: Fix DSCP string handlingGerald Combs1-6/+6
Replace looped snprintfs with wmem_strbuf_append_printfs.
2022-10-24IEEE 802.11: Fix SCIDX string handlingGerald Combs1-12/+9
Appending to a string using snprintf inside a loop can be problematic because you have to ensure that your start offset stays within the bounds of your buffer and that your size (which is unsigned) doesn't overflow. Switch to a wmem_strbuf. Fixes #18527
2022-10-21ieee802.11: Update doc link and revisionAlexis La Goutte1-2/+3
2022-10-20ieee80211: Use greek leters in Beamforming matrices.Richard Sharpe1-2/+2
!18504
2022-10-18ieee80211: Improve the handling of Beamforming matrices.Richard Sharpe1-8/+14
Reduce the number of chars used so we can fit in the 240-byte limit. Fixes #18504
2022-10-14ieee80211: Correct the number of bits for phi & psi in beamforming matricesRichard Sharpe1-6/+6
I noticed while implementing the equivalent for 802.11be that the number of bits for phi and psi angles was reversed. Also, fixed the spelling of AvgSNR.
2022-10-11ieee80211: Use gint(8) for Beamforming Report AVG SNRAlexis La Goutte1-3/+3
Fix #18436
2022-09-30ieee80211: Fix EAPOL dissector for Wi-SUNJérôme Pouiller1-2/+15
In section 6.5.2.3 ("PTK and GTK Installation Flow"), the Wi-SUN specification says that the second message in 4 way handshake must have these properties: Descriptor Type = 2 Key Information: 1. Key Descriptor Version = 2 2. Key Type = 1 (Pairwise) 3. Install = 0 4. Key Ack = 0 5. Key MIC = 1 6. Secure = 0 7. Error = 0 8. Request = 0 9. Encrypted Key Data = 0 10. SMK Message = 0 11. Reserved = 0 Key Length = 0 Key Replay Counter = see [IEEE802.11] section 11.6.2. Key Nonce = SUP generated SNonce EAPOL-Key IV = 0 Key RSC = 0 Key MIC = MIC(KCK, EAPOL) computed over the body of this EAPOL-Key frame with the Key MIC field first initialized to 0. Key Data Length = 0 Key Data = none Thus, until now, the message 2/4 of 4 way handshake was identified as message 4/4.
2022-09-30IEEE 802.11: Add Operating Class Indication Lookupmsweant1-3/+3
packet-ieee80211.c has the IEEE 802.11w-2009 class indication lookup table included already but it's only used to resolve the WFA HS2.0 OCI attribute when it could also be used to resolve beacon/probe response tag 59. Adding that resolution and renaming the RVAL struct from hs20_oper_class_rvals to simply oper_class_rvals. Closes #18389
2022-09-29ieee80211: Fix Ruckus, Mist, and Aerohite vendor-specific dissectorsAdrian Granados1-11/+4
Makes sure "Unknown" is added to tree for unknown vendor-specific types.
2022-09-29ieee80211: Add dissector for Alcatel-Lucent vendor specific IEAdrian Granados1-0/+48
Dissector only supports type 1: AP Name.
2022-09-29Replace the last of PROTO_ITEM_ macro calls with function callsJaap Keuter1-11/+11
2022-08-25Rename a bunch of things with "conversation".Guy Harris1-1/+1
A conversation in Wireshark might have two endpoints or might have no endpoints; few if any have one endpoint. Distinguish between conversations and endpoints.
2022-08-23Change names to reflect that it's an endpoint table.Guy Harris1-7/+7
More {host, hostlist} -> endpoint.
2022-08-23Fix comments to reflect reality.Guy Harris1-1/+1
It's an endpoint table, not a table of hosts.
2022-08-23Rename some functions and types for endpoint tables.Guy Harris1-4/+4
The "conversation table" mechanism supports two types of tables, one for the "Conversations" menu item under "Statistics" and one for the "Endpoints" menu item under "Statistics". The first of them shows statistics for conversations at various layers of the networking stack; the second of them shows statistics for endpoints at various layers of the networking stack. The latter is *not* a table of hosts; an endpoint might be a host, identified by an address at some network level (MAC, IP, etc.), or it might be a port on a host, identified by an address/port pair. Some data types, function names, etc. use "host" or "hostlist" or other terms that imply that an endpoint is a host; change them to speak of endpoints rather than hosts, using names similar to the corresponding functions for conversations. Provide wrapper functions and typedefs for backwards source and binary compatibility; mark them as deprecated in favor of the new names. Clean up some comment errors found in the process.
2022-08-20ieee80211: Improve A-MSDU dissectingChien Wong1-4/+27
Fix subframe length issue. Add padding. Signed-off-by: Chien Wong <m@xv97.com>
2022-08-20ieee80211: Add Transition Disable KDE dissectingChien Wong1-0/+71
Signed-off-by: Chien Wong <m@xv97.com>