Lines Matching refs:ssid

140 int wpa_set_wep_keys(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)  in wpa_set_wep_keys()  argument
145 if (ssid->wep_key_len[i] == 0) in wpa_set_wep_keys()
150 i, i == ssid->wep_tx_keyidx, NULL, 0, in wpa_set_wep_keys()
151 ssid->wep_key[i], ssid->wep_key_len[i], in wpa_set_wep_keys()
152 i == ssid->wep_tx_keyidx ? in wpa_set_wep_keys()
163 struct wpa_ssid *ssid) in wpa_supplicant_set_wpa_none_key() argument
174 if (ssid->mode != WPAS_MODE_IBSS) { in wpa_supplicant_set_wpa_none_key()
176 "IBSS/ad-hoc) for WPA-None", ssid->mode); in wpa_supplicant_set_wpa_none_key()
180 if (!ssid->psk_set) { in wpa_supplicant_set_wpa_none_key()
188 os_memcpy(key, ssid->psk, 16); in wpa_supplicant_set_wpa_none_key()
193 os_memcpy(key, ssid->psk, 16); in wpa_supplicant_set_wpa_none_key()
199 os_memcpy(key, ssid->psk, 16 + 8); in wpa_supplicant_set_wpa_none_key()
200 os_memcpy(key + 16 + 8, ssid->psk + 16, 8); in wpa_supplicant_set_wpa_none_key()
316 struct wpa_ssid *ssid = wpa_s->current_ssid; in wpa_supplicant_initiate_eapol() local
319 if (ssid->mode == WPAS_MODE_IBSS && in wpa_supplicant_initiate_eapol()
346 if (ssid->eapol_flags & EAPOL_FLAG_REQUIRE_KEY_UNICAST) { in wpa_supplicant_initiate_eapol()
349 if (ssid->eapol_flags & EAPOL_FLAG_REQUIRE_KEY_BROADCAST) { in wpa_supplicant_initiate_eapol()
358 eapol_conf.workaround = ssid->eap_workaround; in wpa_supplicant_initiate_eapol()
382 eapol_sm_notify_config(wpa_s->eapol, &ssid->eap, &eapol_conf); in wpa_supplicant_initiate_eapol()
385 if (wpa_s->key_mgmt == WPA_KEY_MGMT_NONE && ssid->mka_psk_set) in wpa_supplicant_initiate_eapol()
386 ieee802_1x_create_preshared_mka(wpa_s, ssid); in wpa_supplicant_initiate_eapol()
388 ieee802_1x_alloc_kay_sm(wpa_s, ssid); in wpa_supplicant_initiate_eapol()
404 struct wpa_ssid *ssid) in wpa_supplicant_set_non_wpa_policy() argument
410 if (ssid->key_mgmt & WPA_KEY_MGMT_WPS) in wpa_supplicant_set_non_wpa_policy()
412 else if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) in wpa_supplicant_set_non_wpa_policy()
431 if (ssid->wep_key_len[i] > 5) { in wpa_supplicant_set_non_wpa_policy()
435 } else if (ssid->wep_key_len[i] > 0) { in wpa_supplicant_set_non_wpa_policy()
564 struct wpa_ssid *ssid; in wpa_supplicant_cleanup() local
565 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) in wpa_supplicant_cleanup()
566 wpas_notify_network_removed(wpa_s, ssid); in wpa_supplicant_cleanup()
925 const u8 *ssid; in wpas_verify_ssid_beacon() local
931 ssid = wpa_s->current_bss->ssid; in wpas_verify_ssid_beacon()
936 os_memcmp(wpa_s->current_ssid->ssid, ssid, ssid_len) != 0)) in wpas_verify_ssid_beacon()
962 os_memcmp(&ie[2], ssid, ssid_len) == 0) { in wpas_verify_ssid_beacon()
1078 struct wpa_ssid *ssid = wpa_s->current_ssid; in wpa_supplicant_set_state() local
1094 ssid ? ssid->id : -1, in wpa_supplicant_set_state()
1095 ssid && ssid->id_str ? ssid->id_str : "", in wpa_supplicant_set_state()
1098 wpas_clear_temp_disabled(wpa_s, ssid, 1); in wpa_supplicant_set_state()
1115 if (!fils_hlp_sent && ssid && ssid->eap.erp) in wpa_supplicant_set_state()
1119 if (ssid && (ssid->key_mgmt & WPA_KEY_MGMT_OWE)) in wpa_supplicant_set_state()
1345 struct wpa_ssid *ssid, in wpa_supplicant_suites_from_ai() argument
1359 if (!(ie->group_cipher & ssid->group_cipher)) { in wpa_supplicant_suites_from_ai()
1362 ie->group_cipher, ssid->group_cipher); in wpa_supplicant_suites_from_ai()
1365 if (!(ie->pairwise_cipher & ssid->pairwise_cipher)) { in wpa_supplicant_suites_from_ai()
1368 ie->pairwise_cipher, ssid->pairwise_cipher); in wpa_supplicant_suites_from_ai()
1371 if (!(ie->key_mgmt & ssid->key_mgmt)) { in wpa_supplicant_suites_from_ai()
1374 ie->key_mgmt, ssid->key_mgmt); in wpa_supplicant_suites_from_ai()
1379 wpas_get_ssid_pmf(wpa_s, ssid) == MGMT_FRAME_PROTECTION_REQUIRED) { in wpa_supplicant_suites_from_ai()
1390 static int matching_ciphers(struct wpa_ssid *ssid, struct wpa_ie_data *ie, in matching_ciphers() argument
1397 return (ie->group_cipher & ssid->group_cipher) && in matching_ciphers()
1398 (ie->pairwise_cipher & ssid->pairwise_cipher); in matching_ciphers()
1403 struct wpa_ssid *ssid, struct wpa_ie_data *ie) in wpas_set_mgmt_group_cipher() argument
1408 if (ssid->group_mgmt_cipher) in wpas_set_mgmt_group_cipher()
1409 sel &= ssid->group_mgmt_cipher; in wpas_set_mgmt_group_cipher()
1410 if (wpas_get_ssid_pmf(wpa_s, ssid) == NO_MGMT_FRAME_PROTECTION || in wpas_set_mgmt_group_cipher()
1415 ie->mgmt_group_cipher, ssid->group_mgmt_cipher, sel); in wpas_set_mgmt_group_cipher()
1439 wpas_get_ssid_pmf(wpa_s, ssid)); in wpas_set_mgmt_group_cipher()
1454 struct wpa_bss *bss, struct wpa_ssid *ssid, in wpa_supplicant_get_psk() argument
1457 if (ssid->psk_set) { in wpa_supplicant_get_psk()
1459 ssid->psk, PMK_LEN); in wpa_supplicant_get_psk()
1460 os_memcpy(psk, ssid->psk, PMK_LEN); in wpa_supplicant_get_psk()
1465 if (bss && ssid->bssid_set && ssid->ssid_len == 0 && ssid->passphrase) { in wpa_supplicant_get_psk()
1466 if (pbkdf2_sha1(ssid->passphrase, bss->ssid, bss->ssid_len, in wpa_supplicant_get_psk()
1478 if (ssid->ext_psk) { in wpa_supplicant_get_psk()
1480 ssid->ext_psk); in wpa_supplicant_get_psk()
1503 if (pbkdf2_sha1(pw_str, bss->ssid, bss->ssid_len, in wpa_supplicant_get_psk()
1546 struct wpa_ssid *ssid) in wpas_update_allowed_key_mgmt() argument
1558 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE) { in wpas_update_allowed_key_mgmt()
1564 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE_EXT_KEY) { in wpas_update_allowed_key_mgmt()
1570 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK_SHA256) in wpas_update_allowed_key_mgmt()
1575 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE) { in wpas_update_allowed_key_mgmt()
1581 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE_EXT_KEY) { in wpas_update_allowed_key_mgmt()
1587 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) in wpas_update_allowed_key_mgmt()
1591 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) { in wpas_update_allowed_key_mgmt()
1597 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE_EXT_KEY) { in wpas_update_allowed_key_mgmt()
1603 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK_SHA256) in wpas_update_allowed_key_mgmt()
1608 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE) { in wpas_update_allowed_key_mgmt()
1614 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) { in wpas_update_allowed_key_mgmt()
1620 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK_SHA256) in wpas_update_allowed_key_mgmt()
1632 if (ssid->sae_pk) in wpas_update_allowed_key_mgmt()
1666 struct wpa_bss *bss, struct wpa_ssid *ssid, in wpa_supplicant_set_suites() argument
1678 bss_rsn = wpa_bss_get_rsne(wpa_s, bss, ssid, false); in wpa_supplicant_set_suites()
1679 bss_rsnx = wpa_bss_get_rsnxe(wpa_s, bss, ssid, false); in wpa_supplicant_set_suites()
1685 if (bss_rsn && (ssid->proto & WPA_PROTO_RSN) && in wpa_supplicant_set_suites()
1687 matching_ciphers(ssid, &ie, bss->freq) && in wpa_supplicant_set_suites()
1688 (ie.key_mgmt & ssid->key_mgmt)) { in wpa_supplicant_set_suites()
1691 } else if (bss_wpa && (ssid->proto & WPA_PROTO_WPA) && in wpa_supplicant_set_suites()
1693 (ie.group_cipher & ssid->group_cipher) && in wpa_supplicant_set_suites()
1694 (ie.pairwise_cipher & ssid->pairwise_cipher) && in wpa_supplicant_set_suites()
1695 (ie.key_mgmt & ssid->key_mgmt)) { in wpa_supplicant_set_suites()
1699 } else if (bss_osen && (ssid->proto & WPA_PROTO_OSEN) && in wpa_supplicant_set_suites()
1701 (ie.group_cipher & ssid->group_cipher) && in wpa_supplicant_set_suites()
1702 (ie.pairwise_cipher & ssid->pairwise_cipher) && in wpa_supplicant_set_suites()
1703 (ie.key_mgmt & ssid->key_mgmt)) { in wpa_supplicant_set_suites()
1706 } else if (bss_rsn && (ssid->proto & WPA_PROTO_OSEN) && in wpa_supplicant_set_suites()
1708 (ie.group_cipher & ssid->group_cipher) && in wpa_supplicant_set_suites()
1709 (ie.pairwise_cipher & ssid->pairwise_cipher) && in wpa_supplicant_set_suites()
1710 (ie.key_mgmt & ssid->key_mgmt)) { in wpa_supplicant_set_suites()
1718 ssid->proto, ssid->pairwise_cipher, ssid->group_cipher, in wpa_supplicant_set_suites()
1719 ssid->key_mgmt); in wpa_supplicant_set_suites()
1722 wpa_ssid_txt(bss->ssid, bss->ssid_len), in wpa_supplicant_set_suites()
1752 if (ssid->proto & WPA_PROTO_OSEN) in wpa_supplicant_set_suites()
1754 else if (ssid->proto & WPA_PROTO_RSN) in wpa_supplicant_set_suites()
1758 if (wpa_supplicant_suites_from_ai(wpa_s, ssid, &ie) < 0) { in wpa_supplicant_set_suites()
1760 ie.group_cipher = ssid->group_cipher; in wpa_supplicant_set_suites()
1761 ie.pairwise_cipher = ssid->pairwise_cipher; in wpa_supplicant_set_suites()
1762 ie.key_mgmt = ssid->key_mgmt; in wpa_supplicant_set_suites()
1764 if (ssid->ieee80211w != NO_MGMT_FRAME_PROTECTION) { in wpa_supplicant_set_suites()
1765 if (ssid->group_mgmt_cipher & in wpa_supplicant_set_suites()
1769 else if (ssid->group_mgmt_cipher & in wpa_supplicant_set_suites()
1773 else if (ssid->group_mgmt_cipher & in wpa_supplicant_set_suites()
1782 if ((ssid->key_mgmt & WPA_KEY_MGMT_OWE) && in wpa_supplicant_set_suites()
1783 !ssid->owe_only && in wpa_supplicant_set_suites()
1785 wpa_supplicant_set_non_wpa_policy(wpa_s, ssid); in wpa_supplicant_set_suites()
1800 if (ssid->ieee80211w) { in wpa_supplicant_set_suites()
1808 !!(ssid->proto & (WPA_PROTO_RSN | WPA_PROTO_OSEN))); in wpa_supplicant_set_suites()
1843 sel = ie.group_cipher & ssid->group_cipher; in wpa_supplicant_set_suites()
1846 ie.group_cipher, ssid->group_cipher, sel); in wpa_supplicant_set_suites()
1856 sel = ie.pairwise_cipher & ssid->pairwise_cipher; in wpa_supplicant_set_suites()
1859 ie.pairwise_cipher, ssid->pairwise_cipher, sel); in wpa_supplicant_set_suites()
1870 sel = ie.key_mgmt & ssid->key_mgmt; in wpa_supplicant_set_suites()
1874 wpas_is_sae_avoided(wpa_s, ssid, &ie)) in wpa_supplicant_set_suites()
1885 ie.key_mgmt, ssid->key_mgmt, sel); in wpa_supplicant_set_suites()
1894 if (!ssid->ft_eap_pmksa_caching && in wpa_supplicant_set_suites()
1945 if (!ssid->ft_eap_pmksa_caching && in wpa_supplicant_set_suites()
2018 (wpas_get_ssid_pmf(wpa_s, ssid) == MGMT_FRAME_PROTECTION_REQUIRED || in wpa_supplicant_set_suites()
2025 wpas_set_mgmt_group_cipher(wpa_s, ssid, &ie); in wpa_supplicant_set_suites()
2029 wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_OCV, ssid->ocv); in wpa_supplicant_set_suites()
2032 if ((ssid->sae_password_id || in wpa_supplicant_set_suites()
2045 wpa_key_mgmt_sae(ssid->key_mgmt) && in wpa_supplicant_set_suites()
2046 ssid->sae_pk != SAE_PK_MODE_DISABLED && in wpa_supplicant_set_suites()
2047 ((ssid->sae_password && in wpa_supplicant_set_suites()
2048 sae_pk_valid_password(ssid->sae_password)) || in wpa_supplicant_set_suites()
2049 (!ssid->sae_password && ssid->passphrase && in wpa_supplicant_set_suites()
2050 sae_pk_valid_password(ssid->passphrase)))); in wpa_supplicant_set_suites()
2053 wpas_get_ssid_pmf(wpa_s, ssid) != MGMT_FRAME_PROTECTION_REQUIRED) { in wpa_supplicant_set_suites()
2074 if (ssid->mode == WPAS_MODE_INFRA && wpa_s->conf->extended_key_id && in wpa_supplicant_set_suites()
2075 (ssid->proto & WPA_PROTO_RSN) && in wpa_supplicant_set_suites()
2076 ssid->pairwise_cipher & (WPA_CIPHER_CCMP | WPA_CIPHER_CCMP_256 | in wpa_supplicant_set_suites()
2113 if (ssid->ssid_protection && proto == WPA_PROTO_RSN) { in wpa_supplicant_set_suites()
2152 wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_DPP_PFS, ssid->dpp_pfs); in wpa_supplicant_set_suites()
2155 } else if (wpa_key_mgmt_wpa_psk(ssid->key_mgmt)) { in wpa_supplicant_set_suites()
2158 if (wpa_key_mgmt_wpa_psk_no_sae(ssid->key_mgmt)) { in wpa_supplicant_set_suites()
2161 if (wpa_supplicant_get_psk(wpa_s, bss, ssid, in wpa_supplicant_set_suites()
2170 if (wpa_key_mgmt_sae(ssid->key_mgmt) && in wpa_supplicant_set_suites()
2171 (ssid->sae_password || ssid->passphrase || ssid->ext_psk)) in wpa_supplicant_set_suites()
2189 if (ssid->mode != WPAS_MODE_IBSS && in wpa_supplicant_set_suites()
2191 (ssid->wpa_deny_ptk0_rekey == PTK0_REKEY_ALLOW_NEVER || in wpa_supplicant_set_suites()
2192 (ssid->wpa_deny_ptk0_rekey == PTK0_REKEY_ALLOW_LOCAL_OK && in wpa_supplicant_set_suites()
2205 wpas_update_allowed_key_mgmt(wpa_s, ssid); in wpa_supplicant_set_suites()
2367 struct wpa_ssid *ssid; in wpas_valid_ssid() local
2369 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) { in wpas_valid_ssid()
2370 if (ssid == test_ssid) in wpas_valid_ssid()
2414 struct wpa_ssid *ssid) in wpas_update_random_addr() argument
2426 if (ether_addr_equal(wpa_s->own_addr, ssid->mac_value)) in wpas_update_random_addr()
2451 if (!ssid) { in wpas_update_random_addr()
2456 os_memcpy(addr, ssid->mac_value, ETH_ALEN); in wpas_update_random_addr()
2495 void wpa_s_setup_sae_pt(struct wpa_config *conf, struct wpa_ssid *ssid, in wpa_s_setup_sae_pt() argument
2506 password = ssid->sae_password; in wpa_s_setup_sae_pt()
2508 password = ssid->passphrase; in wpa_s_setup_sae_pt()
2511 (conf->sae_pwe == 0 && !ssid->sae_password_id && in wpa_s_setup_sae_pt()
2515 sae_deinit_pt(ssid->pt); in wpa_s_setup_sae_pt()
2516 ssid->pt = NULL; in wpa_s_setup_sae_pt()
2520 if (ssid->pt) in wpa_s_setup_sae_pt()
2522 ssid->pt = sae_derive_pt(groups, ssid->ssid, ssid->ssid_len, in wpa_s_setup_sae_pt()
2524 ssid->sae_password_id); in wpa_s_setup_sae_pt()
2580 struct wpa_bss *bss, struct wpa_ssid *ssid) in wpa_supplicant_associate() argument
2595 if (ssid->mac_addr == -1) in wpa_supplicant_associate()
2598 rand_style = ssid->mac_addr; in wpa_supplicant_associate()
2610 if (wpa_s->last_ssid == ssid) { in wpa_supplicant_associate()
2627 wpa_s_setup_sae_pt(wpa_s->conf, ssid, false); in wpa_supplicant_associate()
2631 int status = wpas_update_random_addr(wpa_s, rand_style, ssid); in wpa_supplicant_associate()
2637 wpa_sm_pmksa_cache_flush(wpa_s->wpa, ssid); in wpa_supplicant_associate()
2643 wpa_s->last_ssid = ssid; in wpa_supplicant_associate()
2649 if (ssid->mode == WPAS_MODE_IBSS && in wpa_supplicant_associate()
2650 !(ssid->key_mgmt & (WPA_KEY_MGMT_NONE | WPA_KEY_MGMT_WPA_NONE))) { in wpa_supplicant_associate()
2657 if (ssid->mode == WPAS_MODE_AP || ssid->mode == WPAS_MODE_P2P_GO || in wpa_supplicant_associate()
2658 ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION) { in wpa_supplicant_associate()
2665 if (wpa_supplicant_create_ap(wpa_s, ssid) < 0) { in wpa_supplicant_associate()
2667 if (ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION) in wpa_supplicant_associate()
2679 if (ssid->mode == WPAS_MODE_MESH) { in wpa_supplicant_associate()
2687 ssid->frequency = bss->freq; in wpa_supplicant_associate()
2688 if (wpa_supplicant_join_mesh(wpa_s, ssid) < 0) { in wpa_supplicant_associate()
2707 wpa_supplicant_rsn_supp_set_config(wpa_s, ssid); in wpa_supplicant_associate()
2710 if (wpas_dpp_check_connect(wpa_s, ssid, bss) != 0) in wpa_supplicant_associate()
2720 wpas_mbo_check_pmf(wpa_s, bss, ssid); in wpa_supplicant_associate()
2724 ssid->mode == WPAS_MODE_INFRA) { in wpa_supplicant_associate()
2725 sme_authenticate(wpa_s, bss, ssid); in wpa_supplicant_associate()
2740 if (ssid->mode == WPAS_MODE_IBSS || ssid->mode == WPAS_MODE_MESH) { in wpa_supplicant_associate()
2753 cwork->ssid = ssid; in wpa_supplicant_associate()
2770 const struct wpa_ssid *ssid) in drv_supports_vht() argument
2777 hw_mode = ieee80211_freq_to_chan(ssid->frequency, &channel); in drv_supports_vht()
2812 const struct wpa_ssid *ssid, in ibss_mesh_setup_freq() argument
2815 int ieee80211_mode = wpas_mode_to_ieee80211_mode(ssid->mode); in ibss_mesh_setup_freq()
2833 freq->freq = ssid->frequency; in ibss_mesh_setup_freq()
2838 if (ssid->mode != WPAS_MODE_IBSS) in ibss_mesh_setup_freq()
2842 if (ssid->fixed_freq) in ibss_mesh_setup_freq()
2848 if (ssid->ssid_len == bss->ssid_len && in ibss_mesh_setup_freq()
2849 os_memcmp(ssid->ssid, bss->ssid, bss->ssid_len) == 0) { in ibss_mesh_setup_freq()
2860 if (ssid->mode == WPAS_MODE_IBSS && in ibss_mesh_setup_freq()
2896 if (ssid->disable_ht) { in ibss_mesh_setup_freq()
2910 if (is_24ghz && ssid->disable_he) in ibss_mesh_setup_freq()
2934 if (ssid->disable_ht40) { in ibss_mesh_setup_freq()
2936 if (ssid->disable_vht) in ibss_mesh_setup_freq()
3015 if (!drv_supports_vht(wpa_s, ssid)) in ibss_mesh_setup_freq()
3019 if (ssid->mode == WPAS_MODE_IBSS && in ibss_mesh_setup_freq()
3024 if (ssid->disable_vht) { in ibss_mesh_setup_freq()
3079 if (ssid->max_oper_chwidth == CHANWIDTH_80P80MHZ) { in ibss_mesh_setup_freq()
3113 } else if (ssid->max_oper_chwidth == CHANWIDTH_160MHZ) { in ibss_mesh_setup_freq()
3123 } else if (ssid->max_oper_chwidth == CHANWIDTH_USE_HT) { in ibss_mesh_setup_freq()
3127 if (ssid->disable_ht40) in ibss_mesh_setup_freq()
3133 if (ssid->disable_he) { in ibss_mesh_setup_freq()
3139 freq->channel, ssid->enable_edmg, in ibss_mesh_setup_freq()
3140 ssid->edmg_channel, freq->ht_enabled, in ibss_mesh_setup_freq()
3323 struct wpa_bss *bss, struct wpa_ssid *ssid, in wpas_populate_assoc_ies() argument
3359 wpa_bss_get_rsne(wpa_s, bss, ssid, false)) && in wpas_populate_assoc_ies()
3360 wpa_key_mgmt_wpa(ssid->key_mgmt)) { in wpas_populate_assoc_ies()
3364 try_opportunistic = (ssid->proactive_key_caching < 0 ? in wpas_populate_assoc_ies()
3366 ssid->proactive_key_caching) && in wpas_populate_assoc_ies()
3367 (ssid->proto & WPA_PROTO_RSN); in wpas_populate_assoc_ies()
3369 if (wpa_key_mgmt_fils(ssid->key_mgmt)) in wpas_populate_assoc_ies()
3373 ssid, try_opportunistic, in wpas_populate_assoc_ies()
3381 if (wpa_supplicant_set_suites(wpa_s, bss, ssid, in wpas_populate_assoc_ies()
3390 (ssid->key_mgmt & WPA_KEY_MGMT_OSEN)) { in wpas_populate_assoc_ies()
3393 if (wpa_supplicant_set_suites(wpa_s, bss, ssid, in wpas_populate_assoc_ies()
3401 } else if ((ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) && bss && in wpas_populate_assoc_ies()
3402 wpa_key_mgmt_wpa_ieee8021x(ssid->key_mgmt)) { in wpas_populate_assoc_ies()
3408 wpa_supplicant_set_non_wpa_policy(wpa_s, ssid); in wpas_populate_assoc_ies()
3411 } else if (wpa_key_mgmt_wpa_any(ssid->key_mgmt)) { in wpas_populate_assoc_ies()
3413 if (wpa_supplicant_set_suites(wpa_s, NULL, ssid, in wpas_populate_assoc_ies()
3422 } else if (ssid->key_mgmt & WPA_KEY_MGMT_WPS) { in wpas_populate_assoc_ies()
3424 wps_ie = wps_build_assoc_req_ie(wpas_wps_get_req_type(ssid)); in wpas_populate_assoc_ies()
3431 wpa_supplicant_set_non_wpa_policy(wpa_s, ssid); in wpas_populate_assoc_ies()
3439 wpa_supplicant_set_non_wpa_policy(wpa_s, ssid); in wpas_populate_assoc_ies()
3445 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) { in wpas_populate_assoc_ies()
3446 if (ssid->leap) { in wpas_populate_assoc_ies()
3447 if (ssid->non_leap == 0) in wpas_populate_assoc_ies()
3459 ssid->eap.erp && wpa_key_mgmt_fils(wpa_s->key_mgmt) && in wpas_populate_assoc_ies()
3460 eapol_sm_get_erp_info(wpa_s->eapol, &ssid->eap, &username, in wpas_populate_assoc_ies()
3478 ssid->eap.erp && wpa_key_mgmt_fils(wpa_s->key_mgmt) && in wpas_populate_assoc_ies()
3490 if (ssid->auth_alg) { in wpas_populate_assoc_ies()
3491 algs = ssid->auth_alg; in wpas_populate_assoc_ies()
3512 ssid->p2p_group); in wpas_populate_assoc_ies()
3537 wpa_ie_len += wpas_supp_op_class_ie(wpa_s, ssid, bss, in wpas_populate_assoc_ies()
3551 if (ssid->p2p_group) in wpas_populate_assoc_ies()
3574 if (is_hs20_network(wpa_s, ssid, bss)) { in wpas_populate_assoc_ies()
3579 int pps_mo_id = hs20_get_pps_mo_id(wpa_s, ssid); in wpas_populate_assoc_ies()
3584 wpas_hs20_add_roam_cons_sel(hs20, ssid); in wpas_populate_assoc_ies()
3653 ssid->key_mgmt == WPA_KEY_MGMT_OWE) { in wpas_populate_assoc_ies()
3657 if (ssid->owe_group) { in wpas_populate_assoc_ies()
3658 group = ssid->owe_group; in wpas_populate_assoc_ies()
3687 ssid->dpp_netaccesskey && in wpas_populate_assoc_ies()
3688 ssid->dpp_pfs != 2 && !ssid->dpp_pfs_fallback) { in wpas_populate_assoc_ies()
3696 wpa_s->dpp_pfs = dpp_pfs_init(ssid->dpp_netaccesskey, in wpas_populate_assoc_ies()
3697 ssid->dpp_netaccesskey_len); in wpas_populate_assoc_ies()
3803 if (ssid->multi_ap_backhaul_sta) { in wpas_populate_assoc_ies()
3808 multi_ap.profile = ssid->multi_ap_profile; in wpas_populate_assoc_ies()
3823 wpas_rsn_overriding(wpa_s, ssid)); in wpas_populate_assoc_ies()
3826 if (wpas_rsn_overriding(wpa_s, ssid) && in wpas_populate_assoc_ies()
3835 ie = wpa_bss_get_rsne(wpa_s, bss, ssid, wpa_s->valid_links); in wpas_populate_assoc_ies()
3863 params->rsn_overriding = wpas_rsn_overriding(wpa_s, ssid); in wpas_populate_assoc_ies()
4061 struct wpa_ssid *ssid = cwork->ssid; in wpas_start_assoc_cb() local
4102 if (cwork->bss_removed || !wpas_valid_bss_ssid(wpa_s, bss, ssid) || in wpas_start_assoc_cb()
4103 wpas_network_disabled(wpa_s, ssid)) { in wpas_start_assoc_cb()
4123 wpa_ie = wpas_populate_assoc_ies(wpa_s, bss, ssid, &params, NULL); in wpas_start_assoc_cb()
4136 wpa_ssid_txt(bss->ssid, bss->ssid_len), bss->freq); in wpas_start_assoc_cb()
4153 } else if ((ssid->ssid == NULL || ssid->ssid_len == 0) && in wpas_start_assoc_cb()
4155 (ssid->key_mgmt & WPA_KEY_MGMT_WPS)) { in wpas_start_assoc_cb()
4167 wpa_ssid_txt(ssid->ssid, ssid->ssid_len)); in wpas_start_assoc_cb()
4188 if (wpa_set_wep_keys(wpa_s, ssid)) { in wpas_start_assoc_cb()
4199 if ((ssid->eapol_flags & in wpas_start_assoc_cb()
4215 wpa_supplicant_set_wpa_none_key(wpa_s, ssid); in wpas_start_assoc_cb()
4220 params.ssid = bss->ssid; in wpas_start_assoc_cb()
4222 if (!wpas_driver_bss_selection(wpa_s) || ssid->bssid_set || in wpas_start_assoc_cb()
4228 ssid->bssid_set, in wpas_start_assoc_cb()
4237 if (ssid->bssid_hint_set) in wpas_start_assoc_cb()
4238 params.bssid_hint = ssid->bssid_hint; in wpas_start_assoc_cb()
4240 params.ssid = ssid->ssid; in wpas_start_assoc_cb()
4241 params.ssid_len = ssid->ssid_len; in wpas_start_assoc_cb()
4242 params.pbss = (ssid->pbss != 2) ? ssid->pbss : 0; in wpas_start_assoc_cb()
4245 if (ssid->mode == WPAS_MODE_IBSS && ssid->bssid_set && in wpas_start_assoc_cb()
4247 params.bssid = ssid->bssid; in wpas_start_assoc_cb()
4252 if ((ssid->mode == WPAS_MODE_IBSS || ssid->mode == WPAS_MODE_MESH) && in wpas_start_assoc_cb()
4253 ssid->frequency > 0 && params.freq.freq == 0) in wpas_start_assoc_cb()
4254 ibss_mesh_setup_freq(wpa_s, ssid, &params.freq); in wpas_start_assoc_cb()
4256 if (ssid->mode == WPAS_MODE_IBSS) { in wpas_start_assoc_cb()
4257 params.fixed_freq = ssid->fixed_freq; in wpas_start_assoc_cb()
4258 if (ssid->beacon_int) in wpas_start_assoc_cb()
4259 params.beacon_int = ssid->beacon_int; in wpas_start_assoc_cb()
4264 if (bss && ssid->enable_edmg) in wpas_start_assoc_cb()
4283 if (ssid->edmg_channel) { in wpas_start_assoc_cb()
4293 hostapd_encode_edmg_chan(ssid->enable_edmg, in wpas_start_assoc_cb()
4294 ssid->edmg_channel, in wpas_start_assoc_cb()
4303 ssid->edmg_channel); in wpas_start_assoc_cb()
4310 ssid->edmg_channel); in wpas_start_assoc_cb()
4335 params.mode = ssid->mode; in wpas_start_assoc_cb()
4336 params.bg_scan_period = ssid->bg_scan_period; in wpas_start_assoc_cb()
4342 if (ssid->wep_key_len[i]) in wpas_start_assoc_cb()
4343 params.wep_key[i] = ssid->wep_key[i]; in wpas_start_assoc_cb()
4344 params.wep_key_len[i] = ssid->wep_key_len[i]; in wpas_start_assoc_cb()
4346 params.wep_tx_keyidx = ssid->wep_tx_keyidx; in wpas_start_assoc_cb()
4353 params.passphrase = ssid->passphrase; in wpas_start_assoc_cb()
4354 if (ssid->psk_set) in wpas_start_assoc_cb()
4355 params.psk = ssid->psk; in wpas_start_assoc_cb()
4371 ssid->proactive_key_caching < 0 ? in wpas_start_assoc_cb()
4372 wpa_s->conf->okc : ssid->proactive_key_caching; in wpas_start_assoc_cb()
4379 ssid->psk_set) in wpas_start_assoc_cb()
4380 params.psk = ssid->psk; in wpas_start_assoc_cb()
4385 params.mgmt_frame_protection = wpas_get_ssid_pmf(wpa_s, ssid); in wpas_start_assoc_cb()
4387 const u8 *rsn = wpa_bss_get_rsne(wpa_s, bss, ssid, false); in wpas_start_assoc_cb()
4397 } else if (!rsn && (ssid->key_mgmt & WPA_KEY_MGMT_OWE) && in wpas_start_assoc_cb()
4398 !ssid->owe_only) { in wpas_start_assoc_cb()
4404 params.p2p = ssid->p2p_group; in wpas_start_assoc_cb()
4416 wpa_supplicant_apply_ht_overrides(wpa_s, ssid, &params); in wpas_start_assoc_cb()
4423 wpa_supplicant_apply_vht_overrides(wpa_s, ssid, &params); in wpas_start_assoc_cb()
4426 wpa_supplicant_apply_he_overrides(wpa_s, ssid, &params); in wpas_start_assoc_cb()
4443 wpa_s, params.freq.freq, ssid) < 0) { in wpas_start_assoc_cb()
4486 wpa_supplicant_set_wpa_none_key(wpa_s, ssid); in wpas_start_assoc_cb()
4492 } else if (ssid->mode == WPAS_MODE_IBSS && in wpas_start_assoc_cb()
4507 timeout = ssid->mode == WPAS_MODE_IBSS ? 10 : 5; in wpas_start_assoc_cb()
4510 timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 10; in wpas_start_assoc_cb()
4519 wpa_set_wep_keys(wpa_s, ssid); in wpas_start_assoc_cb()
4523 if (wpa_s->current_ssid && wpa_s->current_ssid != ssid) { in wpas_start_assoc_cb()
4531 wpa_s->current_ssid = ssid; in wpas_start_assoc_cb()
4533 if (!wpas_driver_bss_selection(wpa_s) || ssid->bssid_set) { in wpas_start_assoc_cb()
4542 wpa_sm_set_ssid(wpa_s->wpa, bss->ssid, bss->ssid_len); in wpas_start_assoc_cb()
4652 struct wpa_ssid *ssid) in wpa_supplicant_enable_one_network() argument
4654 if (!ssid || !ssid->disabled || ssid->disabled == 2) in wpa_supplicant_enable_one_network()
4657 ssid->disabled = 0; in wpa_supplicant_enable_one_network()
4658 ssid->owe_transition_bss_select_count = 0; in wpa_supplicant_enable_one_network()
4659 wpas_clear_temp_disabled(wpa_s, ssid, 1); in wpa_supplicant_enable_one_network()
4660 wpas_notify_network_enabled_changed(wpa_s, ssid); in wpa_supplicant_enable_one_network()
4684 struct wpa_ssid *ssid; in wpa_supplicant_add_network() local
4686 ssid = wpa_config_add_network(wpa_s->conf); in wpa_supplicant_add_network()
4687 if (!ssid) in wpa_supplicant_add_network()
4689 wpas_notify_network_added(wpa_s, ssid); in wpa_supplicant_add_network()
4690 ssid->disabled = 1; in wpa_supplicant_add_network()
4691 wpa_config_set_network_defaults(ssid); in wpa_supplicant_add_network()
4693 return ssid; in wpa_supplicant_add_network()
4712 struct wpa_ssid *ssid, *prev = wpa_s->current_ssid; in wpa_supplicant_remove_network() local
4715 ssid = wpa_config_get_network(wpa_s->conf, id); in wpa_supplicant_remove_network()
4716 if (!ssid) in wpa_supplicant_remove_network()
4718 wpas_notify_network_removed(wpa_s, ssid); in wpa_supplicant_remove_network()
4720 if (ssid == prev || !prev) { in wpa_supplicant_remove_network()
4731 if (ssid == prev) { in wpa_supplicant_remove_network()
4741 was_disabled = ssid->disabled; in wpa_supplicant_remove_network()
4770 struct wpa_ssid *ssid; in wpa_supplicant_remove_all_networks() local
4787 ssid = wpa_s->conf->ssid; in wpa_supplicant_remove_all_networks()
4788 while (ssid) { in wpa_supplicant_remove_all_networks()
4789 struct wpa_ssid *remove_ssid = ssid; in wpa_supplicant_remove_all_networks()
4792 id = ssid->id; in wpa_supplicant_remove_all_networks()
4793 ssid = ssid->next; in wpa_supplicant_remove_all_networks()
4809 struct wpa_ssid *ssid) in wpa_supplicant_enable_network() argument
4811 if (ssid == NULL) { in wpa_supplicant_enable_network()
4812 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) in wpa_supplicant_enable_network()
4813 wpa_supplicant_enable_one_network(wpa_s, ssid); in wpa_supplicant_enable_network()
4815 wpa_supplicant_enable_one_network(wpa_s, ssid); in wpa_supplicant_enable_network()
4843 struct wpa_ssid *ssid) in wpa_supplicant_disable_network() argument
4848 if (ssid == NULL) { in wpa_supplicant_disable_network()
4852 for (other_ssid = wpa_s->conf->ssid; other_ssid; in wpa_supplicant_disable_network()
4871 } else if (ssid->disabled != 2) { in wpa_supplicant_disable_network()
4872 if (ssid == wpa_s->current_ssid) { in wpa_supplicant_disable_network()
4879 was_disabled = ssid->disabled; in wpa_supplicant_disable_network()
4881 ssid->disabled = 1; in wpa_supplicant_disable_network()
4883 if (was_disabled != ssid->disabled) { in wpa_supplicant_disable_network()
4884 wpas_notify_network_enabled_changed(wpa_s, ssid); in wpa_supplicant_disable_network()
4902 struct wpa_ssid *ssid) in wpa_supplicant_select_network() argument
4908 if (ssid && ssid != wpa_s->current_ssid && wpa_s->current_ssid) { in wpa_supplicant_select_network()
4916 if (ssid) in wpa_supplicant_select_network()
4917 wpas_clear_temp_disabled(wpa_s, ssid, 1); in wpa_supplicant_select_network()
4923 for (other_ssid = wpa_s->conf->ssid; other_ssid; in wpa_supplicant_select_network()
4929 other_ssid->disabled = ssid ? (ssid->id != other_ssid->id) : 0; in wpa_supplicant_select_network()
4937 if (ssid && ssid == wpa_s->current_ssid && wpa_s->current_ssid && in wpa_supplicant_select_network()
4945 if (ssid) { in wpa_supplicant_select_network()
4946 wpa_s->current_ssid = ssid; in wpa_supplicant_select_network()
4949 (ssid->mode == WPAS_MODE_MESH) ? ssid : NULL; in wpa_supplicant_select_network()
4965 if (ssid) { in wpa_supplicant_select_network()
4966 ssid->owe_transition_bss_select_count = 0; in wpa_supplicant_select_network()
4967 wpa_s_setup_sae_pt(wpa_s->conf, ssid, false); in wpa_supplicant_select_network()
4977 if (ssid) in wpa_supplicant_select_network()
4978 wpas_notify_network_selected(wpa_s, ssid); in wpa_supplicant_select_network()
4991 struct wpa_ssid *ssid, *next; in wpas_remove_cred() local
5008 ssid = wpa_s->conf->ssid; in wpas_remove_cred()
5009 while (ssid) { in wpas_remove_cred()
5010 next = ssid->next; in wpas_remove_cred()
5012 if (ssid->parent_cred == cred) { in wpas_remove_cred()
5015 ssid->id); in wpas_remove_cred()
5016 if (wpa_supplicant_remove_network(wpa_s, ssid->id) == in wpas_remove_cred()
5020 ssid->id); in wpas_remove_cred()
5024 ssid = next; in wpas_remove_cred()
5305 u8 ssid[SSID_MAX_LEN]; in wpa_supplicant_get_ssid() local
5311 res = wpa_drv_get_ssid(wpa_s, ssid); in wpa_supplicant_get_ssid()
5328 entry = wpa_s->conf->ssid; in wpa_supplicant_get_ssid()
5332 (!entry->ssid || in wpa_supplicant_get_ssid()
5333 os_memcmp(ssid, entry->ssid, ssid_len) == 0)) || in wpa_supplicant_get_ssid()
5341 (entry->ssid == NULL || entry->ssid_len == 0) && in wpa_supplicant_get_ssid()
5349 owe_trans_ssid_match(wpa_s, bssid, entry->ssid, in wpa_supplicant_get_ssid()
6103 struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid, in wpa_supplicant_apply_ht_overrides() argument
6109 if (!ssid) in wpa_supplicant_apply_ht_overrides()
6112 params->disable_ht = ssid->disable_ht; in wpa_supplicant_apply_ht_overrides()
6118 wpa_set_htcap_mcs(wpa_s, htcaps, htcaps_mask, ssid->ht_mcs); in wpa_supplicant_apply_ht_overrides()
6120 ssid->disable_max_amsdu); in wpa_supplicant_apply_ht_overrides()
6121 wpa_set_ampdu_factor(wpa_s, htcaps, htcaps_mask, ssid->ampdu_factor); in wpa_supplicant_apply_ht_overrides()
6122 wpa_set_ampdu_density(wpa_s, htcaps, htcaps_mask, ssid->ampdu_density); in wpa_supplicant_apply_ht_overrides()
6123 wpa_set_disable_ht40(wpa_s, htcaps, htcaps_mask, ssid->disable_ht40); in wpa_supplicant_apply_ht_overrides()
6124 wpa_set_disable_sgi(wpa_s, htcaps, htcaps_mask, ssid->disable_sgi); in wpa_supplicant_apply_ht_overrides()
6125 wpa_set_disable_ldpc(wpa_s, htcaps, htcaps_mask, ssid->disable_ldpc); in wpa_supplicant_apply_ht_overrides()
6126 wpa_set_rx_stbc(wpa_s, htcaps, htcaps_mask, ssid->rx_stbc); in wpa_supplicant_apply_ht_overrides()
6127 wpa_set_tx_stbc(wpa_s, htcaps, htcaps_mask, ssid->tx_stbc); in wpa_supplicant_apply_ht_overrides()
6129 if (ssid->ht40_intolerant) { in wpa_supplicant_apply_ht_overrides()
6141 struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid, in wpa_supplicant_apply_vht_overrides() argument
6147 if (!ssid) in wpa_supplicant_apply_vht_overrides()
6150 params->disable_vht = ssid->disable_vht; in wpa_supplicant_apply_vht_overrides()
6158 vhtcaps->vht_capabilities_info = host_to_le32(ssid->vht_capa); in wpa_supplicant_apply_vht_overrides()
6159 vhtcaps_mask->vht_capabilities_info = host_to_le32(ssid->vht_capa_mask); in wpa_supplicant_apply_vht_overrides()
6162 if (ssid->disable_sgi) { in wpa_supplicant_apply_vht_overrides()
6173 if (ssid->vht_capa_mask & VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MAX) { in wpa_supplicant_apply_vht_overrides()
6176 max_ampdu = (ssid->vht_capa & in wpa_supplicant_apply_vht_overrides()
6189 if (ssid->vht_tx_mcs_nss_ ##i >= 0) { \ in wpa_supplicant_apply_vht_overrides()
6193 host_to_le16(ssid->vht_tx_mcs_nss_ ##i << \ in wpa_supplicant_apply_vht_overrides()
6196 if (ssid->vht_rx_mcs_nss_ ##i >= 0) { \ in wpa_supplicant_apply_vht_overrides()
6200 host_to_le16(ssid->vht_rx_mcs_nss_ ##i << \ in wpa_supplicant_apply_vht_overrides()
6218 struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid, in wpa_supplicant_apply_he_overrides() argument
6221 if (!ssid) in wpa_supplicant_apply_he_overrides()
6224 params->disable_he = ssid->disable_he; in wpa_supplicant_apply_he_overrides()
6229 struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid, in wpa_supplicant_apply_eht_overrides() argument
6232 if (!ssid) in wpa_supplicant_apply_eht_overrides()
6235 params->disable_eht = ssid->disable_eht; in wpa_supplicant_apply_eht_overrides()
7576 struct wpa_ssid *ssid; in wpa_supplicant_add_iface() local
7616 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) in wpa_supplicant_add_iface()
7617 wpas_notify_network_added(wpa_s, ssid); in wpa_supplicant_add_iface()
8125 os_memcmp(bss->ssid, cbss->ssid, bss->ssid_len) == 0 && in get_bss_freqs_in_ess()
8250 struct wpa_ssid *ssid = wpa_s->current_ssid; in fils_pmksa_cache_flush() local
8266 if (!ssid || !ssid->eap.erp || !wpa_key_mgmt_fils(ssid->key_mgmt)) in fils_pmksa_cache_flush()
8269 if (eapol_sm_get_erp_info(wpa_s->eapol, &ssid->eap, in fils_pmksa_cache_flush()
8277 wpa_sm_external_pmksa_cache_flush(wpa_s->wpa, ssid); in fils_pmksa_cache_flush()
8283 wpa_sm_pmksa_cache_flush(wpa_s->wpa, ssid); in fils_pmksa_cache_flush()
8289 struct wpa_ssid *ssid = wpa_s->current_ssid; in fils_connection_failure() local
8294 if (!ssid || !ssid->eap.erp || !wpa_key_mgmt_fils(ssid->key_mgmt) || in fils_connection_failure()
8295 eapol_sm_get_erp_info(wpa_s->eapol, &ssid->eap, in fils_connection_failure()
8328 bool wpas_rsn_overriding(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid) in wpas_rsn_overriding() argument
8332 if (ssid && ssid->rsn_overriding != RSN_OVERRIDING_NOT_SET) in wpas_rsn_overriding()
8333 rsno = ssid->rsn_overriding; in wpas_rsn_overriding()
8353 struct wpa_ssid *ssid, in wpa_supplicant_ctrl_iface_ctrl_rsp_handle() argument
8358 struct eap_peer_config *eap = &ssid->eap; in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8370 if (ssid == wpa_s->current_ssid) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8378 if (ssid == wpa_s->current_ssid) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8386 if (ssid == wpa_s->current_ssid) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8393 if (ssid == wpa_s->current_ssid) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8408 if (ssid == wpa_s->current_ssid) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8417 if (wpa_config_set(ssid, "psk", value, 0) < 0) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8419 ssid->mem_only_psk = 1; in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8420 if (ssid->passphrase) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8421 wpa_config_update_psk(ssid); in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8449 int wpas_network_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid) in wpas_network_disabled() argument
8459 if (ssid == NULL) in wpas_network_disabled()
8462 if (ssid->disabled) in wpas_network_disabled()
8472 size_t len = ssid->wep_key_len[i]; in wpas_network_disabled()
8485 if (wpa_key_mgmt_wpa_psk(ssid->key_mgmt) && !ssid->psk_set && in wpas_network_disabled()
8486 (!ssid->passphrase || ssid->ssid_len != 0) && !ssid->ext_psk && in wpas_network_disabled()
8487 !(wpa_key_mgmt_sae(ssid->key_mgmt) && ssid->sae_password) && in wpas_network_disabled()
8488 !ssid->mem_only_psk) in wpas_network_disabled()
8495 int wpas_get_ssid_pmf(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid) in wpas_get_ssid_pmf() argument
8497 if (ssid == NULL || ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT) { in wpas_get_ssid_pmf()
8508 if (ssid && in wpas_get_ssid_pmf()
8509 (ssid->key_mgmt & in wpas_get_ssid_pmf()
8524 return ssid->ieee80211w; in wpas_get_ssid_pmf()
8529 struct wpa_ssid *ssid, in wpas_is_sae_avoided() argument
8535 wpas_get_ssid_pmf(wpa_s, ssid) == NO_MGMT_FRAME_PROTECTION); in wpas_is_sae_avoided()
8562 struct wpa_ssid *ssid = wpa_s->current_ssid; in wpas_auth_failed() local
8566 if (ssid == NULL) { in wpas_auth_failed()
8572 if (ssid->key_mgmt == WPA_KEY_MGMT_WPS) in wpas_auth_failed()
8575 ssid->auth_failures++; in wpas_auth_failed()
8578 if (ssid->p2p_group && in wpas_auth_failed()
8588 if (ssid->auth_failures > 50) in wpas_auth_failed()
8590 else if (ssid->auth_failures > 10) in wpas_auth_failed()
8592 else if (ssid->auth_failures > 5) in wpas_auth_failed()
8594 else if (ssid->auth_failures > 3) in wpas_auth_failed()
8596 else if (ssid->auth_failures > 2) in wpas_auth_failed()
8598 else if (ssid->auth_failures > 1) in wpas_auth_failed()
8603 if (ssid->auth_failures > 1 && in wpas_auth_failed()
8604 wpa_key_mgmt_wpa_ieee8021x(ssid->key_mgmt)) in wpas_auth_failed()
8605 dur += os_random() % (ssid->auth_failures * 10); in wpas_auth_failed()
8608 if (now.sec + dur <= ssid->disabled_until.sec) in wpas_auth_failed()
8611 ssid->disabled_until.sec = now.sec + dur; in wpas_auth_failed()
8615 ssid->id, wpa_ssid_txt(ssid->ssid, ssid->ssid_len), in wpas_auth_failed()
8616 ssid->auth_failures, dur, reason); in wpas_auth_failed()
8621 struct wpa_ssid *ssid, int clear_failures) in wpas_clear_temp_disabled() argument
8623 if (ssid == NULL) in wpas_clear_temp_disabled()
8626 if (ssid->disabled_until.sec) { in wpas_clear_temp_disabled()
8629 ssid->id, wpa_ssid_txt(ssid->ssid, ssid->ssid_len)); in wpas_clear_temp_disabled()
8631 ssid->disabled_until.sec = 0; in wpas_clear_temp_disabled()
8632 ssid->disabled_until.usec = 0; in wpas_clear_temp_disabled()
8634 ssid->auth_failures = 0; in wpas_clear_temp_disabled()
8655 int disallowed_ssid(struct wpa_supplicant *wpa_s, const u8 *ssid, in disallowed_ssid() argument
8660 if (wpa_s->disallow_aps_ssid == NULL || ssid == NULL) in disallowed_ssid()
8666 os_memcmp(ssid, s->ssid, ssid_len) == 0) in disallowed_ssid()