diff mbox series

[5/5] AP: Reject association request upon invalid HE capabilities

Message ID 1590565168-16379-5-git-send-email-rmanohar@codeaurora.org
State Superseded
Headers show
Series [1/5] nl80211: Fetch HE 6 GHz capability from driver | expand

Commit Message

Rajkumar Manoharan May 27, 2020, 7:39 a.m. UTC
In 6 GHz band mandates valid HE capabilities element in station
negotiation. Reject association request upon receiving invalid
HE elements.

Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
---
 src/ap/ieee802_11.c          | 6 ++++++
 src/common/ieee802_11_defs.h | 1 +
 2 files changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
index c4bf434f2a5b..6b8309586265 100644
--- a/src/ap/ieee802_11.c
+++ b/src/ap/ieee802_11.c
@@ -3183,6 +3183,12 @@  static int check_assoc_ies(struct hostapd_data *hapd, struct sta_info *sta,
 		if (resp != WLAN_STATUS_SUCCESS)
 			return resp;
 		if (is_6ghz_op_class(hapd->iconf->op_class)) {
+			if (!(sta->flags & WLAN_STA_HE)) {
+				hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
+					       HOSTAPD_LEVEL_INFO, "Station does not support "
+					       "mandatory HE PHY - reject association");
+				return WLAN_STATUS_ASSOC_DENIED_NO_HE;
+			}
 			resp = copy_sta_he_6ghz_capab(hapd, sta,
 						      elems.he_6ghz_band_cap);
 			if (resp != WLAN_STATUS_SUCCESS)
diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h
index 22d76dc42182..f240f52acc08 100644
--- a/src/common/ieee802_11_defs.h
+++ b/src/common/ieee802_11_defs.h
@@ -204,6 +204,7 @@ 
 #define WLAN_STATUS_FILS_AUTHENTICATION_FAILURE 112
 #define WLAN_STATUS_UNKNOWN_AUTHENTICATION_SERVER 113
 #define WLAN_STATUS_UNKNOWN_PASSWORD_IDENTIFIER 123
+#define WLAN_STATUS_ASSOC_DENIED_NO_HE 124
 #define WLAN_STATUS_SAE_HASH_TO_ELEMENT 126
 
 /* Reason codes (IEEE Std 802.11-2016, 9.4.1.7, Table 9-45) */