2020-03-22 16:44:29

by Alexander Wetzel

[permalink] [raw]
Subject: [PATCH] iw: Complete Extended Key ID detection

info: update text to have a unified spelling
scan: flag Extended Key ID in scans

Signed-off-by: Alexander Wetzel <[email protected]>
---

Add Extended Key ID detection to scans. While at it I also updated the
spelling for Extended Key ID to use capital letters to unify it with how
it's written in IEEE 802.11 and all other references.

Here a short sample:

BSS d0:ab:d5:82:2e:0e(on wlp2s0)
TSF: 1839642566 usec (0d, 00:30:39)
freq: 2422
beacon interval: 100 TUs
capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431)
signal: -33.00 dBm
last seen: 5180 ms ago
Information elements from Probe Response frame:
SSID: Brix
Supported rates: 6.0* 9.0 12.0* 18.0 24.0* 36.0 48.0 54.0
DS Parameter set: channel 3
Country: DE Environment: Indoor/Outdoor
Channels [1 - 13] @ 22 dBm
ERP: <no flags>
RSN: * Version: 1
* Group cipher: CCMP
* Pairwise ciphers: CCMP
* Authentication suites: PSK SAE FT/SAE
* Capabilities: 16-PTKSA-RC 1-GTKSA-RC MFP-required MFP-capable Extended-Key-ID (0x20cc)
BSS Load:
* station count: 0
* channel utilisation: 0/255
* available admission capacity: 0 [*32us]


info.c | 2 +-
scan.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/info.c b/info.c
index 97240f6..8d4cffc 100644
--- a/info.c
+++ b/info.c
@@ -698,7 +698,7 @@ broken_combination:
"PMKSA caching supported in AP mode");
ext_feat_print(tb, SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD,
"band specific RSSI thresholds for scheduled scan");
- ext_feat_print(tb, EXT_KEY_ID, "extended key ID support");
+ ext_feat_print(tb, EXT_KEY_ID, "Extended Key ID support");
ext_feat_print(tb, STA_TX_PWR, "TX power control per station");
ext_feat_print(tb, SAE_OFFLOAD, "SAE offload support");
ext_feat_print(tb, VLAN_OFFLOAD, "VLAN offload support");
diff --git a/scan.c b/scan.c
index 1ccea94..57d4e9c 100644
--- a/scan.c
+++ b/scan.c
@@ -1018,6 +1018,8 @@ static void _print_rsn_ie(const char *defcipher, const char *defauth,
printf(" SPP-AMSDU-capable");
if (capa & 0x0800)
printf(" SPP-AMSDU-required");
+ if (capa & 0x2000)
+ printf(" Extended-Key-ID");
printf(" (0x%.4x)\n", capa);
data += 2;
len -= 2;
--
2.25.2