[PATCH v2 15/15] wpa_supplicant: Apply same restrictions for MLD as for 6 GHz BSS
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Wed Nov 30 05:09:39 PST 2022
Though not exlicitely forced by spec yet, it makes sense to apply the
same logic for MLD as for 6 GHz BSS's.
Change wpa_supplicant_ssid_bss_match() accordingly.
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski at intel.com>
---
wpa_supplicant/events.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index dcedfbf41b..d41a2d91b5 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -609,7 +609,8 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
#ifdef CONFIG_WEP
int wep_ok;
#endif /* CONFIG_WEP */
- bool is_6ghz_bss = is_6ghz_freq(bss->freq);
+ bool is_6ghz_bss_or_mld = is_6ghz_freq(bss->freq) ||
+ !is_zero_ether_addr(bss->mld_addr);
ret = wpas_wps_ssid_bss_match(wpa_s, ssid, bss);
if (ret >= 0)
@@ -624,10 +625,10 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
#endif /* CONFIG_WEP */
rsn_ie = wpa_bss_get_ie(bss, WLAN_EID_RSN);
- if (is_6ghz_bss && !rsn_ie) {
+ if (is_6ghz_bss_or_mld && !rsn_ie) {
if (debug_print)
wpa_dbg(wpa_s, MSG_DEBUG,
- " skip - 6 GHz BSS without RSNE");
+ " skip - 6 GHz/MLD BSS without RSNE");
return 0;
}
@@ -645,7 +646,7 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
if (!ie.has_group)
ie.group_cipher = wpa_default_rsn_cipher(bss->freq);
- if (is_6ghz_bss) {
+ if (is_6ghz_bss_or_mld) {
/* WEP and TKIP are not allowed on 6 GHz */
ie.pairwise_cipher &= ~(WPA_CIPHER_WEP40 |
WPA_CIPHER_WEP104 |
@@ -696,12 +697,12 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
break;
}
- if (is_6ghz_bss) {
+ if (is_6ghz_bss_or_mld) {
/* MFPC must be supported on 6 GHz */
if (!(ie.capabilities & WPA_CAPABILITY_MFPC)) {
if (debug_print)
wpa_dbg(wpa_s, MSG_DEBUG,
- " skip RSNE - 6 GHz without MFPC");
+ " skip RSNE - 6 GHz/MLD without MFPC");
break;
}
@@ -741,10 +742,10 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
return 1;
}
- if (is_6ghz_bss) {
+ if (is_6ghz_bss_or_mld) {
if (debug_print)
wpa_dbg(wpa_s, MSG_DEBUG,
- " skip - 6 GHz BSS without matching RSNE");
+ " skip - 6 GHz/MLD BSS without matching RSNE");
return 0;
}
--
2.25.1
More information about the Hostap
mailing list