aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnkita Bajaj <bankita@codeaurora.org>2019-07-30 09:05:32 (GMT)
committerJouni Malinen <j@w1.fi>2019-08-15 16:06:53 (GMT)
commit0028d627c89e01094a087a820fea6060a757e6fd (patch)
treec95ab26fffc85db361340035c5f4e4f0a61ec6b2
parent84ebc759a005ee3e068cb79d92a3d23ec5293017 (diff)
downloadhostap-0028d627c89e01094a087a820fea6060a757e6fd.zip
hostap-0028d627c89e01094a087a820fea6060a757e6fd.tar.gz
hostap-0028d627c89e01094a087a820fea6060a757e6fd.tar.bz2
OCE: Mandate PMF for WPA2 association with OCE AP
An OCE AP with WPA2 enabled shall require PMF negotiation when associating with an OCE STA. An OCE STA-CFON may negotiate PMF with a STA when it is operating as an AP. Don't select an OCE AP for connection if PMF is not enabled. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
-rw-r--r--wpa_supplicant/events.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 89c9452..7ba4345 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -540,6 +540,9 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
const u8 *rsn_ie, *wpa_ie;
int ret;
int wep_ok;
+#ifdef CONFIG_MBO
+ const u8 *oce_capa_attr;
+#endif /* CONFIG_MBO */
ret = wpas_wps_ssid_bss_match(wpa_s, ssid, bss);
if (ret >= 0)
@@ -631,13 +634,17 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
break;
}
#ifdef CONFIG_MBO
+ oce_capa_attr = wpas_mbo_get_bss_attr(bss,
+ OCE_ATTR_ID_CAPA_IND);
if (!(ie.capabilities & WPA_CAPABILITY_MFPC) &&
- wpas_mbo_get_bss_attr(bss, MBO_ATTR_ID_AP_CAPA_IND) &&
+ (wpas_mbo_get_bss_attr(bss, MBO_ATTR_ID_AP_CAPA_IND) ||
+ (oce_capa_attr && oce_capa_attr[1] >= 1 &&
+ !(oce_capa_attr[2] & OCE_IS_STA_CFON))) &&
wpas_get_ssid_pmf(wpa_s, ssid) !=
NO_MGMT_FRAME_PROTECTION) {
if (debug_print)
wpa_dbg(wpa_s, MSG_DEBUG,
- " skip RSN IE - no mgmt frame protection enabled on MBO AP");
+ " skip RSN IE - no mgmt frame protection enabled on MBO/OCE AP");
break;
}
#endif /* CONFIG_MBO */