wlan-ap-Telecominfraproject/feeds/wifi-ax/hostapd/patches/820-multiple_bssid-non-inheratence-IE.patch
John Crispin 04f6078da6 ipq807x: update AX support
Signed-off-by: John Crispin <john@phrozen.org>
2020-10-04 14:28:57 +02:00

59 lines
2.0 KiB
Diff

From 170589aa784c08489ce73dc1416093935530b16a Mon Sep 17 00:00:00 2001
From: John Crispin <john@phrozen.org>
Date: Wed, 26 Aug 2020 08:49:11 +0200
Subject: [PATCH 817/820] multiple_bssid: non-inheratence IE
Signed-off-by: John Crispin <john@phrozen.org>
---
src/ap/ieee802_11.c | 14 ++++++++++++--
src/common/ieee802_11_defs.h | 1 +
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
index bf5041b95..3809ac64c 100644
--- a/src/ap/ieee802_11.c
+++ b/src/ap/ieee802_11.c
@@ -5671,7 +5671,7 @@ static u8 * hostapd_eid_multiple_bssid_chunk(struct hostapd_data *hapd,
for (i = *count; i < hapd->iface->num_bss; i++) {
struct hostapd_data *bss = hapd->iface->bss[i];
- u8 *bss_size_offset, *index_size_offset, *pos = eid;
+ u8 *bss_size_offset, *index_size_offset, *pos = eid, *rsn;
u16 capab_info;
*eid++ = WLAN_EID_SUBELEMENT_NONTRANSMITTED_BSSID_PROFILE;
@@ -5697,7 +5697,17 @@ static u8 * hostapd_eid_multiple_bssid_chunk(struct hostapd_data *hapd,
}
*index_size_offset = (eid - index_size_offset) - 1;
- eid = hostapd_get_rsne(bss, eid, end - eid);
+ rsn = hostapd_get_rsne(bss, eid, end - eid);
+ if (rsn == eid) {
+ /* add RSN non-inheritance IE */
+ *eid++ = WLAN_EID_EXTENSION;
+ *eid++ = 3;
+ *eid++ = WLAN_EID_EXT_NON_INHERITANCE;
+ *eid++ = 1;
+ *eid++ = WLAN_EID_RSN;
+ } else {
+ eid = rsn;
+ }
*bss_size_offset = (eid - bss_size_offset) - 1;
if ((eid - size_offset) - 1 > 255) {
diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h
index f493718e0..07c24214d 100644
--- a/src/common/ieee802_11_defs.h
+++ b/src/common/ieee802_11_defs.h
@@ -477,6 +477,7 @@
#define WLAN_EID_EXT_SPATIAL_REUSE 39
#define WLAN_EID_EXT_COLOR_CHANGE_ANNOUNCEMENT 42
#define WLAN_EID_EXT_OCV_OCI 54
+#define WLAN_EID_EXT_NON_INHERITANCE 56
#define WLAN_EID_EXT_SHORT_SSID_LIST 58
#define WLAN_EID_EXT_HE_6GHZ_BAND_CAP 59
#define WLAN_EID_EXT_EDMG_CAPABILITIES 61
--
2.25.1