DPP: Support DPP and SAE in the same network profile
Make both DPP and SAE code aware of the cases where the same network profile is configured to enable both DPP and SAE. Prefer DPP over SAE in such cases and start DPP/SAE exchanges based on what both the station and the AP support. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
9305c2332b
commit
dd6c598007
3 changed files with 24 additions and 6 deletions
|
@ -1454,6 +1454,11 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
|
|||
wpa_s->key_mgmt = WPA_KEY_MGMT_FT_PSK;
|
||||
wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using KEY_MGMT FT/PSK");
|
||||
#endif /* CONFIG_IEEE80211R */
|
||||
#ifdef CONFIG_DPP
|
||||
} else if (sel & WPA_KEY_MGMT_DPP) {
|
||||
wpa_s->key_mgmt = WPA_KEY_MGMT_DPP;
|
||||
wpa_dbg(wpa_s, MSG_DEBUG, "RSN: using KEY_MGMT DPP");
|
||||
#endif /* CONFIG_DPP */
|
||||
#ifdef CONFIG_SAE
|
||||
} else if (sel & WPA_KEY_MGMT_SAE) {
|
||||
wpa_s->key_mgmt = WPA_KEY_MGMT_SAE;
|
||||
|
@ -1491,11 +1496,6 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
|
|||
wpa_s->key_mgmt = WPA_KEY_MGMT_OWE;
|
||||
wpa_dbg(wpa_s, MSG_DEBUG, "RSN: using KEY_MGMT OWE");
|
||||
#endif /* CONFIG_OWE */
|
||||
#ifdef CONFIG_DPP
|
||||
} else if (sel & WPA_KEY_MGMT_DPP) {
|
||||
wpa_s->key_mgmt = WPA_KEY_MGMT_DPP;
|
||||
wpa_dbg(wpa_s, MSG_DEBUG, "RSN: using KEY_MGMT DPP");
|
||||
#endif /* CONFIG_DPP */
|
||||
} else {
|
||||
wpa_msg(wpa_s, MSG_WARNING, "WPA: Failed to select "
|
||||
"authenticated key management type");
|
||||
|
@ -1548,7 +1548,13 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
|
|||
return -1;
|
||||
}
|
||||
|
||||
if (wpa_key_mgmt_wpa_psk(ssid->key_mgmt)) {
|
||||
if (0) {
|
||||
#ifdef CONFIG_DPP
|
||||
} else if (wpa_s->key_mgmt == WPA_KEY_MGMT_DPP) {
|
||||
/* Use PMK from DPP network introduction (PMKSA entry) */
|
||||
wpa_sm_set_pmk_from_pmksa(wpa_s->wpa);
|
||||
#endif /* CONFIG_DPP */
|
||||
} else if (wpa_key_mgmt_wpa_psk(ssid->key_mgmt)) {
|
||||
int psk_set = 0;
|
||||
int sae_only;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue