From: Chung-Hsien Hsu Date: Wed, 19 Jul 2023 05:22:27 +0000 (+0900) Subject: SAE: Pass SAE password on connect for SAE authentication offload support X-Git-Tag: hostap_2_11~832 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=236c0cfbcdf7459be1727afb7eb540c4ee081cbc;p=thirdparty%2Fhostap.git SAE: Pass SAE password on connect for SAE authentication offload support Pass SAE password on connect if driver advertises SAE authentication offload support. Signed-off-by: Chung-Hsien Hsu Signed-off-by: Daisuke Mizobuchi --- diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index b75c0ec15..48f9bc506 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -1761,7 +1761,8 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s, sel = ie.key_mgmt & ssid->key_mgmt; #ifdef CONFIG_SAE - if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_SAE) || + if ((!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_SAE) && + !(wpa_s->drv_flags2 & WPA_DRIVER_FLAGS2_SAE_OFFLOAD_STA)) || wpas_is_sae_avoided(wpa_s, ssid, &ie)) sel &= ~(WPA_KEY_MGMT_SAE | WPA_KEY_MGMT_SAE_EXT_KEY | WPA_KEY_MGMT_FT_SAE | WPA_KEY_MGMT_FT_SAE_EXT_KEY); @@ -4311,6 +4312,17 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit) params.psk = psk; } + if ((wpa_s->drv_flags2 & WPA_DRIVER_FLAGS2_SAE_OFFLOAD_STA) && + wpa_key_mgmt_sae(params.key_mgmt_suite)) { + params.auth_alg = WPA_AUTH_ALG_SAE; + if (ssid->sae_password) { + params.sae_password = ssid->sae_password; + params.sae_password_id = ssid->sae_password_id; + } else if (ssid->passphrase) { + params.passphrase = ssid->passphrase; + } + } + params.drop_unencrypted = use_crypt; params.mgmt_frame_protection = wpas_get_ssid_pmf(wpa_s, ssid);