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@xxxxxxxxxxxxxx> --- src/ap/ieee802_11.c | 6 ++++++ src/common/ieee802_11_defs.h | 1 + 2 files changed, 7 insertions(+) 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) */ -- 2.7.4 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap