Lines Matching refs:ssid

139 int wpa_set_wep_keys(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)  in wpa_set_wep_keys()  argument
144 if (ssid->wep_key_len[i] == 0) in wpa_set_wep_keys()
149 i, i == ssid->wep_tx_keyidx, NULL, 0, in wpa_set_wep_keys()
150 ssid->wep_key[i], ssid->wep_key_len[i], in wpa_set_wep_keys()
151 i == ssid->wep_tx_keyidx ? in wpa_set_wep_keys()
162 struct wpa_ssid *ssid) in wpa_supplicant_set_wpa_none_key() argument
173 if (ssid->mode != WPAS_MODE_IBSS) { in wpa_supplicant_set_wpa_none_key()
175 "IBSS/ad-hoc) for WPA-None", ssid->mode); in wpa_supplicant_set_wpa_none_key()
179 if (!ssid->psk_set) { in wpa_supplicant_set_wpa_none_key()
187 os_memcpy(key, ssid->psk, 16); in wpa_supplicant_set_wpa_none_key()
192 os_memcpy(key, ssid->psk, 16); in wpa_supplicant_set_wpa_none_key()
198 os_memcpy(key, ssid->psk, 16 + 8); in wpa_supplicant_set_wpa_none_key()
199 os_memcpy(key + 16 + 8, ssid->psk + 16, 8); in wpa_supplicant_set_wpa_none_key()
315 struct wpa_ssid *ssid = wpa_s->current_ssid; in wpa_supplicant_initiate_eapol() local
318 if (ssid->mode == WPAS_MODE_IBSS && in wpa_supplicant_initiate_eapol()
345 if (ssid->eapol_flags & EAPOL_FLAG_REQUIRE_KEY_UNICAST) { in wpa_supplicant_initiate_eapol()
348 if (ssid->eapol_flags & EAPOL_FLAG_REQUIRE_KEY_BROADCAST) { in wpa_supplicant_initiate_eapol()
357 eapol_conf.workaround = ssid->eap_workaround; in wpa_supplicant_initiate_eapol()
381 eapol_sm_notify_config(wpa_s->eapol, &ssid->eap, &eapol_conf); in wpa_supplicant_initiate_eapol()
384 if (wpa_s->key_mgmt == WPA_KEY_MGMT_NONE && ssid->mka_psk_set) in wpa_supplicant_initiate_eapol()
385 ieee802_1x_create_preshared_mka(wpa_s, ssid); in wpa_supplicant_initiate_eapol()
387 ieee802_1x_alloc_kay_sm(wpa_s, ssid); in wpa_supplicant_initiate_eapol()
403 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()
428 if (ssid->wep_key_len[i] > 5) { in wpa_supplicant_set_non_wpa_policy()
432 } else if (ssid->wep_key_len[i] > 0) { in wpa_supplicant_set_non_wpa_policy()
563 struct wpa_ssid *ssid; in wpa_supplicant_cleanup() local
564 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) in wpa_supplicant_cleanup()
565 wpas_notify_network_removed(wpa_s, ssid); in wpa_supplicant_cleanup()
936 const u8 *ssid; in wpas_verify_ssid_beacon() local
942 ssid = wpa_s->current_bss->ssid; in wpas_verify_ssid_beacon()
947 os_memcmp(wpa_s->current_ssid->ssid, ssid, ssid_len) != 0)) in wpas_verify_ssid_beacon()
973 os_memcmp(&ie[2], ssid, ssid_len) == 0) { in wpas_verify_ssid_beacon()
1093 struct wpa_ssid *ssid = wpa_s->current_ssid; in wpa_supplicant_set_state() local
1116 ssid ? ssid->id : -1, in wpa_supplicant_set_state()
1117 ssid && ssid->id_str ? ssid->id_str : "", in wpa_supplicant_set_state()
1120 wpas_clear_temp_disabled(wpa_s, ssid, 1); in wpa_supplicant_set_state()
1134 if (!fils_hlp_sent && ssid && ssid->eap.erp) in wpa_supplicant_set_state()
1138 if (ssid && (ssid->key_mgmt & WPA_KEY_MGMT_OWE)) in wpa_supplicant_set_state()
1369 struct wpa_ssid *ssid, in wpa_supplicant_suites_from_ai() argument
1383 if (!(ie->group_cipher & ssid->group_cipher)) { in wpa_supplicant_suites_from_ai()
1386 ie->group_cipher, ssid->group_cipher); in wpa_supplicant_suites_from_ai()
1389 if (!(ie->pairwise_cipher & ssid->pairwise_cipher)) { in wpa_supplicant_suites_from_ai()
1392 ie->pairwise_cipher, ssid->pairwise_cipher); in wpa_supplicant_suites_from_ai()
1395 if (!(ie->key_mgmt & ssid->key_mgmt)) { in wpa_supplicant_suites_from_ai()
1398 ie->key_mgmt, ssid->key_mgmt); in wpa_supplicant_suites_from_ai()
1403 wpas_get_ssid_pmf(wpa_s, ssid) == MGMT_FRAME_PROTECTION_REQUIRED) { in wpa_supplicant_suites_from_ai()
1414 static int matching_ciphers(struct wpa_ssid *ssid, struct wpa_ie_data *ie, in matching_ciphers() argument
1421 return (ie->group_cipher & ssid->group_cipher) && in matching_ciphers()
1422 (ie->pairwise_cipher & ssid->pairwise_cipher); in matching_ciphers()
1427 struct wpa_ssid *ssid, struct wpa_ie_data *ie) in wpas_set_mgmt_group_cipher() argument
1432 if (ssid->group_mgmt_cipher) in wpas_set_mgmt_group_cipher()
1433 sel &= ssid->group_mgmt_cipher; in wpas_set_mgmt_group_cipher()
1434 if (wpas_get_ssid_pmf(wpa_s, ssid) == NO_MGMT_FRAME_PROTECTION || in wpas_set_mgmt_group_cipher()
1439 ie->mgmt_group_cipher, ssid->group_mgmt_cipher, sel); in wpas_set_mgmt_group_cipher()
1463 wpas_get_ssid_pmf(wpa_s, ssid)); in wpas_set_mgmt_group_cipher()
1478 struct wpa_bss *bss, struct wpa_ssid *ssid, in wpa_supplicant_get_psk() argument
1481 if (ssid->psk_set) { in wpa_supplicant_get_psk()
1483 ssid->psk, PMK_LEN); in wpa_supplicant_get_psk()
1484 os_memcpy(psk, ssid->psk, PMK_LEN); in wpa_supplicant_get_psk()
1489 if (bss && ssid->bssid_set && ssid->ssid_len == 0 && ssid->passphrase) { in wpa_supplicant_get_psk()
1490 if (pbkdf2_sha1(ssid->passphrase, bss->ssid, bss->ssid_len, in wpa_supplicant_get_psk()
1502 if (ssid->ext_psk) { in wpa_supplicant_get_psk()
1504 ssid->ext_psk); in wpa_supplicant_get_psk()
1527 if (pbkdf2_sha1(pw_str, bss->ssid, bss->ssid_len, in wpa_supplicant_get_psk()
1570 struct wpa_ssid *ssid) in wpas_update_allowed_key_mgmt() argument
1582 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE) { in wpas_update_allowed_key_mgmt()
1588 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE_EXT_KEY) { in wpas_update_allowed_key_mgmt()
1594 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK_SHA256) in wpas_update_allowed_key_mgmt()
1599 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE) { in wpas_update_allowed_key_mgmt()
1605 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE_EXT_KEY) { in wpas_update_allowed_key_mgmt()
1611 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) in wpas_update_allowed_key_mgmt()
1615 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) { in wpas_update_allowed_key_mgmt()
1621 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE_EXT_KEY) { in wpas_update_allowed_key_mgmt()
1627 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK_SHA256) in wpas_update_allowed_key_mgmt()
1632 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE) { in wpas_update_allowed_key_mgmt()
1638 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) { in wpas_update_allowed_key_mgmt()
1644 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK_SHA256) in wpas_update_allowed_key_mgmt()
1656 if (ssid->sae_pk) in wpas_update_allowed_key_mgmt()
1691 struct wpa_bss *bss, struct wpa_ssid *ssid, in wpa_supplicant_set_suites() argument
1710 if (bss_rsn && (ssid->proto & WPA_PROTO_RSN) && in wpa_supplicant_set_suites()
1712 matching_ciphers(ssid, &ie, bss->freq) && in wpa_supplicant_set_suites()
1713 (ie.key_mgmt & ssid->key_mgmt)) { in wpa_supplicant_set_suites()
1716 } else if (bss_wpa && (ssid->proto & WPA_PROTO_WPA) && in wpa_supplicant_set_suites()
1718 (ie.group_cipher & ssid->group_cipher) && in wpa_supplicant_set_suites()
1719 (ie.pairwise_cipher & ssid->pairwise_cipher) && in wpa_supplicant_set_suites()
1720 (ie.key_mgmt & ssid->key_mgmt)) { in wpa_supplicant_set_suites()
1724 } else if (bss_osen && (ssid->proto & WPA_PROTO_OSEN) && in wpa_supplicant_set_suites()
1726 (ie.group_cipher & ssid->group_cipher) && in wpa_supplicant_set_suites()
1727 (ie.pairwise_cipher & ssid->pairwise_cipher) && in wpa_supplicant_set_suites()
1728 (ie.key_mgmt & ssid->key_mgmt)) { in wpa_supplicant_set_suites()
1731 } else if (bss_rsn && (ssid->proto & WPA_PROTO_OSEN) && in wpa_supplicant_set_suites()
1733 (ie.group_cipher & ssid->group_cipher) && in wpa_supplicant_set_suites()
1734 (ie.pairwise_cipher & ssid->pairwise_cipher) && in wpa_supplicant_set_suites()
1735 (ie.key_mgmt & ssid->key_mgmt)) { in wpa_supplicant_set_suites()
1743 ssid->proto, ssid->pairwise_cipher, ssid->group_cipher, in wpa_supplicant_set_suites()
1744 ssid->key_mgmt); in wpa_supplicant_set_suites()
1747 wpa_ssid_txt(bss->ssid, bss->ssid_len), in wpa_supplicant_set_suites()
1777 if (ssid->proto & WPA_PROTO_OSEN) in wpa_supplicant_set_suites()
1779 else if (ssid->proto & WPA_PROTO_RSN) in wpa_supplicant_set_suites()
1783 if (wpa_supplicant_suites_from_ai(wpa_s, ssid, &ie) < 0) { in wpa_supplicant_set_suites()
1785 ie.group_cipher = ssid->group_cipher; in wpa_supplicant_set_suites()
1786 ie.pairwise_cipher = ssid->pairwise_cipher; in wpa_supplicant_set_suites()
1787 ie.key_mgmt = ssid->key_mgmt; in wpa_supplicant_set_suites()
1789 if (ssid->ieee80211w != NO_MGMT_FRAME_PROTECTION) { in wpa_supplicant_set_suites()
1790 if (ssid->group_mgmt_cipher & in wpa_supplicant_set_suites()
1794 else if (ssid->group_mgmt_cipher & in wpa_supplicant_set_suites()
1798 else if (ssid->group_mgmt_cipher & in wpa_supplicant_set_suites()
1807 if ((ssid->key_mgmt & WPA_KEY_MGMT_OWE) && in wpa_supplicant_set_suites()
1808 !ssid->owe_only && in wpa_supplicant_set_suites()
1810 wpa_supplicant_set_non_wpa_policy(wpa_s, ssid); in wpa_supplicant_set_suites()
1825 if (ssid->ieee80211w) { in wpa_supplicant_set_suites()
1833 !!(ssid->proto & (WPA_PROTO_RSN | WPA_PROTO_OSEN))); in wpa_supplicant_set_suites()
1849 sel = ie.group_cipher & ssid->group_cipher; in wpa_supplicant_set_suites()
1852 ie.group_cipher, ssid->group_cipher, sel); in wpa_supplicant_set_suites()
1862 sel = ie.pairwise_cipher & ssid->pairwise_cipher; in wpa_supplicant_set_suites()
1865 ie.pairwise_cipher, ssid->pairwise_cipher, sel); in wpa_supplicant_set_suites()
1876 sel = ie.key_mgmt & ssid->key_mgmt; in wpa_supplicant_set_suites()
1880 wpas_is_sae_avoided(wpa_s, ssid, &ie)) in wpa_supplicant_set_suites()
1891 ie.key_mgmt, ssid->key_mgmt, sel); in wpa_supplicant_set_suites()
1900 if (!ssid->ft_eap_pmksa_caching && in wpa_supplicant_set_suites()
1951 if (!ssid->ft_eap_pmksa_caching && in wpa_supplicant_set_suites()
2024 (wpas_get_ssid_pmf(wpa_s, ssid) == MGMT_FRAME_PROTECTION_REQUIRED || in wpa_supplicant_set_suites()
2031 wpas_set_mgmt_group_cipher(wpa_s, ssid, &ie); in wpa_supplicant_set_suites()
2035 wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_OCV, ssid->ocv); in wpa_supplicant_set_suites()
2038 if ((ssid->sae_password_id || in wpa_supplicant_set_suites()
2051 wpa_key_mgmt_sae(ssid->key_mgmt) && in wpa_supplicant_set_suites()
2052 ssid->sae_pk != SAE_PK_MODE_DISABLED && in wpa_supplicant_set_suites()
2053 ((ssid->sae_password && in wpa_supplicant_set_suites()
2054 sae_pk_valid_password(ssid->sae_password)) || in wpa_supplicant_set_suites()
2055 (!ssid->sae_password && ssid->passphrase && in wpa_supplicant_set_suites()
2056 sae_pk_valid_password(ssid->passphrase)))); in wpa_supplicant_set_suites()
2059 wpas_get_ssid_pmf(wpa_s, ssid) != MGMT_FRAME_PROTECTION_REQUIRED) { in wpa_supplicant_set_suites()
2080 if (ssid->mode == WPAS_MODE_INFRA && wpa_s->conf->extended_key_id && in wpa_supplicant_set_suites()
2081 (ssid->proto & WPA_PROTO_RSN) && in wpa_supplicant_set_suites()
2082 ssid->pairwise_cipher & (WPA_CIPHER_CCMP | WPA_CIPHER_CCMP_256 | in wpa_supplicant_set_suites()
2119 if (ssid->ssid_protection && proto == WPA_PROTO_RSN) { in wpa_supplicant_set_suites()
2158 wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_DPP_PFS, ssid->dpp_pfs); in wpa_supplicant_set_suites()
2161 } else if (wpa_key_mgmt_wpa_psk(ssid->key_mgmt)) { in wpa_supplicant_set_suites()
2164 if (wpa_key_mgmt_wpa_psk_no_sae(ssid->key_mgmt)) { in wpa_supplicant_set_suites()
2167 if (wpa_supplicant_get_psk(wpa_s, bss, ssid, in wpa_supplicant_set_suites()
2176 if (wpa_key_mgmt_sae(ssid->key_mgmt) && in wpa_supplicant_set_suites()
2177 (ssid->sae_password || ssid->passphrase || ssid->ext_psk)) in wpa_supplicant_set_suites()
2195 if (ssid->mode != WPAS_MODE_IBSS && in wpa_supplicant_set_suites()
2197 (ssid->wpa_deny_ptk0_rekey == PTK0_REKEY_ALLOW_NEVER || in wpa_supplicant_set_suites()
2198 (ssid->wpa_deny_ptk0_rekey == PTK0_REKEY_ALLOW_LOCAL_OK && in wpa_supplicant_set_suites()
2211 wpas_update_allowed_key_mgmt(wpa_s, ssid); in wpa_supplicant_set_suites()
2373 struct wpa_ssid *ssid; in wpas_valid_ssid() local
2375 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) { in wpas_valid_ssid()
2376 if (ssid == test_ssid) in wpas_valid_ssid()
2420 struct wpa_ssid *ssid) in wpas_update_random_addr() argument
2432 if (ether_addr_equal(wpa_s->own_addr, ssid->mac_value)) in wpas_update_random_addr()
2457 if (!ssid) { in wpas_update_random_addr()
2462 os_memcpy(addr, ssid->mac_value, ETH_ALEN); in wpas_update_random_addr()
2502 void wpa_s_setup_sae_pt(struct wpa_config *conf, struct wpa_ssid *ssid, in wpa_s_setup_sae_pt() argument
2513 password = ssid->sae_password; in wpa_s_setup_sae_pt()
2515 password = ssid->passphrase; in wpa_s_setup_sae_pt()
2518 !wpa_key_mgmt_sae(ssid->key_mgmt) || in wpa_s_setup_sae_pt()
2519 (conf->sae_pwe == SAE_PWE_HUNT_AND_PECK && !ssid->sae_password_id && in wpa_s_setup_sae_pt()
2520 !wpa_key_mgmt_sae_ext_key(ssid->key_mgmt) && in wpa_s_setup_sae_pt()
2525 sae_deinit_pt(ssid->pt); in wpa_s_setup_sae_pt()
2526 ssid->pt = NULL; in wpa_s_setup_sae_pt()
2530 if (ssid->pt) in wpa_s_setup_sae_pt()
2532 ssid->pt = sae_derive_pt(groups, ssid->ssid, ssid->ssid_len, in wpa_s_setup_sae_pt()
2534 ssid->sae_password_id); in wpa_s_setup_sae_pt()
2590 struct wpa_bss *bss, struct wpa_ssid *ssid) in wpa_supplicant_associate() argument
2606 if (ssid->mac_addr == WPAS_MAC_ADDR_STYLE_NOT_SET) in wpa_supplicant_associate()
2609 rand_style = ssid->mac_addr; in wpa_supplicant_associate()
2626 if (wpa_s->last_ssid == ssid) { in wpa_supplicant_associate()
2644 wpa_s_setup_sae_pt(wpa_s->conf, ssid, false); in wpa_supplicant_associate()
2648 int status = wpas_update_random_addr(wpa_s, rand_style, ssid); in wpa_supplicant_associate()
2654 wpa_sm_pmksa_cache_flush(wpa_s->wpa, ssid); in wpa_supplicant_associate()
2660 wpa_s->last_ssid = ssid; in wpa_supplicant_associate()
2666 if (ssid->mode == WPAS_MODE_IBSS && in wpa_supplicant_associate()
2667 !(ssid->key_mgmt & (WPA_KEY_MGMT_NONE | WPA_KEY_MGMT_WPA_NONE))) { in wpa_supplicant_associate()
2674 if (ssid->mode == WPAS_MODE_AP || ssid->mode == WPAS_MODE_P2P_GO || in wpa_supplicant_associate()
2675 ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION) { in wpa_supplicant_associate()
2682 if (wpa_supplicant_create_ap(wpa_s, ssid) < 0) { in wpa_supplicant_associate()
2684 if (ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION) in wpa_supplicant_associate()
2696 if (ssid->mode == WPAS_MODE_MESH) { in wpa_supplicant_associate()
2704 ssid->frequency = bss->freq; in wpa_supplicant_associate()
2705 if (wpa_supplicant_join_mesh(wpa_s, ssid) < 0) { in wpa_supplicant_associate()
2725 wpa_supplicant_rsn_supp_set_config(wpa_s, ssid); in wpa_supplicant_associate()
2728 if (wpas_dpp_check_connect(wpa_s, ssid, bss) != 0) in wpa_supplicant_associate()
2738 wpas_mbo_check_pmf(wpa_s, bss, ssid); in wpa_supplicant_associate()
2742 ssid->mode == WPAS_MODE_INFRA) { in wpa_supplicant_associate()
2743 sme_authenticate(wpa_s, bss, ssid); in wpa_supplicant_associate()
2758 if (ssid->mode == WPAS_MODE_IBSS || ssid->mode == WPAS_MODE_MESH) { in wpa_supplicant_associate()
2771 cwork->ssid = ssid; in wpa_supplicant_associate()
2788 const struct wpa_ssid *ssid) in drv_supports_vht() argument
2795 hw_mode = ieee80211_freq_to_chan(ssid->frequency, &channel); in drv_supports_vht()
2830 const struct wpa_ssid *ssid) in ibss_find_existing_bss() argument
2840 if (ssid->ssid_len == bss->ssid_len && in ibss_find_existing_bss()
2841 os_memcmp(ssid->ssid, bss->ssid, bss->ssid_len) == 0) in ibss_find_existing_bss()
2849 const struct wpa_ssid *ssid, in ibss_mesh_can_use_ht() argument
2853 if (ssid->mode == WPAS_MODE_IBSS && in ibss_mesh_can_use_ht()
2869 if (ssid->disable_ht) in ibss_mesh_can_use_ht()
2878 const struct wpa_ssid *ssid, in ibss_mesh_can_use_vht() argument
2884 if (!drv_supports_vht(wpa_s, ssid)) in ibss_mesh_can_use_vht()
2888 if (ssid->mode == WPAS_MODE_IBSS && in ibss_mesh_can_use_vht()
2896 if (ssid->disable_vht) in ibss_mesh_can_use_vht()
2905 const struct wpa_ssid *ssid, in ibss_mesh_can_use_he() argument
2910 if (ssid->disable_he) in ibss_mesh_can_use_he()
2926 const struct wpa_ssid *ssid, in ibss_mesh_can_use_eht() argument
2930 if (ssid->disable_eht) in ibss_mesh_can_use_eht()
2945 const struct wpa_ssid *ssid, in ibss_mesh_select_40mhz() argument
2976 if (ssid->disable_ht40) in ibss_mesh_select_40mhz()
3052 const struct wpa_ssid *ssid, in ibss_mesh_select_80_160mhz() argument
3085 if (ssid->max_oper_chwidth == CONF_OPER_CHWIDTH_USE_HT) in ibss_mesh_select_80_160mhz()
3124 if (ssid->max_oper_chwidth == CONF_OPER_CHWIDTH_80P80MHZ) { in ibss_mesh_select_80_160mhz()
3158 } else if (ssid->max_oper_chwidth == CONF_OPER_CHWIDTH_160MHZ) { in ibss_mesh_select_80_160mhz()
3172 freq->channel, ssid->enable_edmg, in ibss_mesh_select_80_160mhz()
3173 ssid->edmg_channel, freq->ht_enabled, in ibss_mesh_select_80_160mhz()
3191 const struct wpa_ssid *ssid, in ibss_mesh_setup_freq() argument
3194 int ieee80211_mode = wpas_mode_to_ieee80211_mode(ssid->mode); in ibss_mesh_setup_freq()
3201 freq->freq = ssid->frequency; in ibss_mesh_setup_freq()
3203 if (ssid->mode == WPAS_MODE_IBSS && !ssid->fixed_freq) { in ibss_mesh_setup_freq()
3204 struct wpa_bss *bss = ibss_find_existing_bss(wpa_s, ssid); in ibss_mesh_setup_freq()
3217 hw_mode, is_6ghz_freq(ssid->frequency)); in ibss_mesh_setup_freq()
3233 freq->ht_enabled = ibss_mesh_can_use_ht(wpa_s, ssid, mode); in ibss_mesh_setup_freq()
3235 freq->vht_enabled = ibss_mesh_can_use_vht(wpa_s, ssid, mode); in ibss_mesh_setup_freq()
3237 freq->he_enabled = ibss_mesh_can_use_he(wpa_s, ssid, mode, in ibss_mesh_setup_freq()
3242 ibss_mesh_select_40mhz(wpa_s, ssid, mode, freq, obss_scan); in ibss_mesh_setup_freq()
3243 if (!ibss_mesh_select_80_160mhz(wpa_s, ssid, mode, freq, in ibss_mesh_setup_freq()
3249 freq->eht_enabled = ibss_mesh_can_use_eht(wpa_s, ssid, mode, in ibss_mesh_setup_freq()
3423 struct wpa_bss *bss, struct wpa_ssid *ssid, in wpas_populate_assoc_ies() argument
3460 wpa_key_mgmt_wpa(ssid->key_mgmt)) { in wpas_populate_assoc_ies()
3474 try_opportunistic = (ssid->proactive_key_caching < 0 ? in wpas_populate_assoc_ies()
3476 ssid->proactive_key_caching) && in wpas_populate_assoc_ies()
3477 (ssid->proto & WPA_PROTO_RSN); in wpas_populate_assoc_ies()
3479 if (wpa_key_mgmt_fils(ssid->key_mgmt)) in wpas_populate_assoc_ies()
3483 ssid, try_opportunistic, in wpas_populate_assoc_ies()
3491 if (wpa_supplicant_set_suites(wpa_s, bss, ssid, in wpas_populate_assoc_ies()
3500 (ssid->key_mgmt & WPA_KEY_MGMT_OSEN)) { in wpas_populate_assoc_ies()
3503 if (wpa_supplicant_set_suites(wpa_s, bss, ssid, in wpas_populate_assoc_ies()
3511 } else if ((ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) && bss && in wpas_populate_assoc_ies()
3512 wpa_key_mgmt_wpa_ieee8021x(ssid->key_mgmt)) { in wpas_populate_assoc_ies()
3518 wpa_supplicant_set_non_wpa_policy(wpa_s, ssid); in wpas_populate_assoc_ies()
3521 } else if (wpa_key_mgmt_wpa_any(ssid->key_mgmt)) { in wpas_populate_assoc_ies()
3523 if (wpa_supplicant_set_suites(wpa_s, NULL, ssid, in wpas_populate_assoc_ies()
3532 } else if (ssid->key_mgmt & WPA_KEY_MGMT_WPS) { in wpas_populate_assoc_ies()
3534 wps_ie = wps_build_assoc_req_ie(wpas_wps_get_req_type(ssid)); in wpas_populate_assoc_ies()
3541 wpa_supplicant_set_non_wpa_policy(wpa_s, ssid); in wpas_populate_assoc_ies()
3549 wpa_supplicant_set_non_wpa_policy(wpa_s, ssid); in wpas_populate_assoc_ies()
3555 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) { in wpas_populate_assoc_ies()
3556 if (ssid->leap) { in wpas_populate_assoc_ies()
3557 if (ssid->non_leap == 0) in wpas_populate_assoc_ies()
3569 ssid->eap.erp && wpa_key_mgmt_fils(wpa_s->key_mgmt) && in wpas_populate_assoc_ies()
3570 eapol_sm_get_erp_info(wpa_s->eapol, &ssid->eap, &username, in wpas_populate_assoc_ies()
3588 ssid->eap.erp && wpa_key_mgmt_fils(wpa_s->key_mgmt) && in wpas_populate_assoc_ies()
3600 if (ssid->auth_alg) { in wpas_populate_assoc_ies()
3601 algs = ssid->auth_alg; in wpas_populate_assoc_ies()
3622 ssid->p2p_group); in wpas_populate_assoc_ies()
3647 wpa_ie_len += wpas_supp_op_class_ie(wpa_s, ssid, bss, in wpas_populate_assoc_ies()
3662 if (ssid->p2p_group) in wpas_populate_assoc_ies()
3684 if (ssid->max_idle && wpa_ie_len + 5 <= max_wpa_ie_len) { in wpas_populate_assoc_ies()
3689 WPA_PUT_LE16(pos, ssid->max_idle); in wpas_populate_assoc_ies()
3696 if (is_hs20_network(wpa_s, ssid, bss)) { in wpas_populate_assoc_ies()
3701 int pps_mo_id = hs20_get_pps_mo_id(wpa_s, ssid); in wpas_populate_assoc_ies()
3706 wpas_hs20_add_roam_cons_sel(hs20, ssid); in wpas_populate_assoc_ies()
3775 ssid->key_mgmt == WPA_KEY_MGMT_OWE && in wpas_populate_assoc_ies()
3780 if (ssid->owe_group) { in wpas_populate_assoc_ies()
3781 group = ssid->owe_group; in wpas_populate_assoc_ies()
3810 ssid->dpp_netaccesskey && in wpas_populate_assoc_ies()
3811 ssid->dpp_pfs != 2 && !ssid->dpp_pfs_fallback) { in wpas_populate_assoc_ies()
3819 wpa_s->dpp_pfs = dpp_pfs_init(ssid->dpp_netaccesskey, in wpas_populate_assoc_ies()
3820 ssid->dpp_netaccesskey_len); in wpas_populate_assoc_ies()
3927 if (ssid->multi_ap_backhaul_sta) { in wpas_populate_assoc_ies()
3932 multi_ap.profile = ssid->multi_ap_profile; in wpas_populate_assoc_ies()
4143 struct wpa_ssid *ssid = cwork->ssid; in wpas_start_assoc_cb() local
4185 if (cwork->bss_removed || !wpas_valid_bss_ssid(wpa_s, bss, ssid) || in wpas_start_assoc_cb()
4186 wpas_network_disabled(wpa_s, ssid)) { in wpas_start_assoc_cb()
4215 wpa_ie = wpas_populate_assoc_ies(wpa_s, bss, ssid, &params, NULL); in wpas_start_assoc_cb()
4228 wpa_ssid_txt(bss->ssid, bss->ssid_len), bss->freq); in wpas_start_assoc_cb()
4245 } else if ((ssid->ssid == NULL || ssid->ssid_len == 0) && in wpas_start_assoc_cb()
4247 (ssid->key_mgmt & WPA_KEY_MGMT_WPS)) { in wpas_start_assoc_cb()
4259 wpa_ssid_txt(ssid->ssid, ssid->ssid_len)); in wpas_start_assoc_cb()
4280 if (wpa_set_wep_keys(wpa_s, ssid)) { in wpas_start_assoc_cb()
4291 if ((ssid->eapol_flags & in wpas_start_assoc_cb()
4307 wpa_supplicant_set_wpa_none_key(wpa_s, ssid); in wpas_start_assoc_cb()
4313 wpa_s->current_ssid = ssid; in wpas_start_assoc_cb()
4317 params.ssid = bss->ssid; in wpas_start_assoc_cb()
4319 if (!wpas_driver_bss_selection(wpa_s) || ssid->bssid_set || in wpas_start_assoc_cb()
4325 ssid->bssid_set, in wpas_start_assoc_cb()
4334 if (ssid->bssid_hint_set) in wpas_start_assoc_cb()
4335 params.bssid_hint = ssid->bssid_hint; in wpas_start_assoc_cb()
4337 params.ssid = ssid->ssid; in wpas_start_assoc_cb()
4338 params.ssid_len = ssid->ssid_len; in wpas_start_assoc_cb()
4339 params.pbss = (ssid->pbss != 2) ? ssid->pbss : 0; in wpas_start_assoc_cb()
4342 if (ssid->mode == WPAS_MODE_IBSS && ssid->bssid_set && in wpas_start_assoc_cb()
4344 params.bssid = ssid->bssid; in wpas_start_assoc_cb()
4349 if ((ssid->mode == WPAS_MODE_IBSS || ssid->mode == WPAS_MODE_MESH) && in wpas_start_assoc_cb()
4350 ssid->frequency > 0 && params.freq.freq == 0) in wpas_start_assoc_cb()
4351 ibss_mesh_setup_freq(wpa_s, ssid, &params.freq); in wpas_start_assoc_cb()
4353 if (ssid->mode == WPAS_MODE_IBSS) { in wpas_start_assoc_cb()
4354 params.fixed_freq = ssid->fixed_freq; in wpas_start_assoc_cb()
4355 if (ssid->beacon_int) in wpas_start_assoc_cb()
4356 params.beacon_int = ssid->beacon_int; in wpas_start_assoc_cb()
4361 if (bss && ssid->enable_edmg) in wpas_start_assoc_cb()
4380 if (ssid->edmg_channel) { in wpas_start_assoc_cb()
4390 hostapd_encode_edmg_chan(ssid->enable_edmg, in wpas_start_assoc_cb()
4391 ssid->edmg_channel, in wpas_start_assoc_cb()
4400 ssid->edmg_channel); in wpas_start_assoc_cb()
4407 ssid->edmg_channel); in wpas_start_assoc_cb()
4433 params.mode = ssid->mode; in wpas_start_assoc_cb()
4434 params.bg_scan_period = ssid->bg_scan_period; in wpas_start_assoc_cb()
4440 if (ssid->wep_key_len[i]) in wpas_start_assoc_cb()
4441 params.wep_key[i] = ssid->wep_key[i]; in wpas_start_assoc_cb()
4442 params.wep_key_len[i] = ssid->wep_key_len[i]; in wpas_start_assoc_cb()
4444 params.wep_tx_keyidx = ssid->wep_tx_keyidx; in wpas_start_assoc_cb()
4453 params.passphrase = ssid->passphrase; in wpas_start_assoc_cb()
4454 if (wpa_supplicant_get_psk(wpa_s, bss, ssid, psk) == 0) in wpas_start_assoc_cb()
4474 ssid->proactive_key_caching < 0 ? in wpas_start_assoc_cb()
4475 wpa_s->conf->okc : ssid->proactive_key_caching; in wpas_start_assoc_cb()
4481 wpa_supplicant_get_psk(wpa_s, bss, ssid, psk) == 0) in wpas_start_assoc_cb()
4488 if (ssid->sae_password) { in wpas_start_assoc_cb()
4489 params.sae_password = ssid->sae_password; in wpas_start_assoc_cb()
4490 params.sae_password_id = ssid->sae_password_id; in wpas_start_assoc_cb()
4491 } else if (ssid->passphrase) { in wpas_start_assoc_cb()
4492 params.passphrase = ssid->passphrase; in wpas_start_assoc_cb()
4498 params.mgmt_frame_protection = wpas_get_ssid_pmf(wpa_s, ssid); in wpas_start_assoc_cb()
4511 } else if (!rsn && (ssid->key_mgmt & WPA_KEY_MGMT_OWE) && in wpas_start_assoc_cb()
4512 !ssid->owe_only) { in wpas_start_assoc_cb()
4518 params.p2p = ssid->p2p_group; in wpas_start_assoc_cb()
4530 wpa_supplicant_apply_ht_overrides(wpa_s, ssid, &params); in wpas_start_assoc_cb()
4537 wpa_supplicant_apply_vht_overrides(wpa_s, ssid, &params); in wpas_start_assoc_cb()
4540 wpa_supplicant_apply_he_overrides(wpa_s, ssid, &params); in wpas_start_assoc_cb()
4542 wpa_supplicant_apply_eht_overrides(wpa_s, ssid, &params); in wpas_start_assoc_cb()
4558 wpa_s, params.freq.freq, ssid) < 0) { in wpas_start_assoc_cb()
4601 wpa_supplicant_set_wpa_none_key(wpa_s, ssid); in wpas_start_assoc_cb()
4607 } else if (ssid->mode == WPAS_MODE_IBSS && in wpas_start_assoc_cb()
4622 timeout = ssid->mode == WPAS_MODE_IBSS ? 10 : 5; in wpas_start_assoc_cb()
4625 timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 10; in wpas_start_assoc_cb()
4634 wpa_set_wep_keys(wpa_s, ssid); in wpas_start_assoc_cb()
4638 if (old_ssid && old_ssid != ssid) { in wpas_start_assoc_cb()
4650 ssid->bssid_set) { in wpas_start_assoc_cb()
4659 wpa_sm_set_ssid(wpa_s->wpa, bss->ssid, bss->ssid_len); in wpas_start_assoc_cb()
4777 struct wpa_ssid *ssid) in wpa_supplicant_enable_one_network() argument
4779 if (!ssid || !ssid->disabled || ssid->disabled == 2) in wpa_supplicant_enable_one_network()
4782 ssid->disabled = 0; in wpa_supplicant_enable_one_network()
4783 ssid->owe_transition_bss_select_count = 0; in wpa_supplicant_enable_one_network()
4784 wpas_clear_temp_disabled(wpa_s, ssid, 1); in wpa_supplicant_enable_one_network()
4785 wpas_notify_network_enabled_changed(wpa_s, ssid); in wpa_supplicant_enable_one_network()
4809 struct wpa_ssid *ssid; in wpa_supplicant_add_network() local
4811 ssid = wpa_config_add_network(wpa_s->conf); in wpa_supplicant_add_network()
4812 if (!ssid) in wpa_supplicant_add_network()
4814 wpas_notify_network_added(wpa_s, ssid); in wpa_supplicant_add_network()
4815 ssid->disabled = 1; in wpa_supplicant_add_network()
4816 wpa_config_set_network_defaults(ssid); in wpa_supplicant_add_network()
4818 return ssid; in wpa_supplicant_add_network()
4837 struct wpa_ssid *ssid, *prev = wpa_s->current_ssid; in wpa_supplicant_remove_network() local
4840 ssid = wpa_config_get_network(wpa_s->conf, id); in wpa_supplicant_remove_network()
4841 if (!ssid) in wpa_supplicant_remove_network()
4843 wpas_notify_network_removed(wpa_s, ssid); in wpa_supplicant_remove_network()
4845 if (ssid == prev || !prev) { in wpa_supplicant_remove_network()
4856 if (ssid == prev) { in wpa_supplicant_remove_network()
4866 was_disabled = ssid->disabled; in wpa_supplicant_remove_network()
4895 struct wpa_ssid *ssid; in wpa_supplicant_remove_all_networks() local
4917 ssid = wpa_s->conf->ssid; in wpa_supplicant_remove_all_networks()
4918 while (ssid) { in wpa_supplicant_remove_all_networks()
4919 struct wpa_ssid *remove_ssid = ssid; in wpa_supplicant_remove_all_networks()
4922 id = ssid->id; in wpa_supplicant_remove_all_networks()
4923 ssid = ssid->next; in wpa_supplicant_remove_all_networks()
4939 struct wpa_ssid *ssid) in wpa_supplicant_enable_network() argument
4941 if (ssid == NULL) { in wpa_supplicant_enable_network()
4942 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) in wpa_supplicant_enable_network()
4943 wpa_supplicant_enable_one_network(wpa_s, ssid); in wpa_supplicant_enable_network()
4945 wpa_supplicant_enable_one_network(wpa_s, ssid); in wpa_supplicant_enable_network()
4973 struct wpa_ssid *ssid) in wpa_supplicant_disable_network() argument
4978 if (ssid == NULL) { in wpa_supplicant_disable_network()
4982 for (other_ssid = wpa_s->conf->ssid; other_ssid; in wpa_supplicant_disable_network()
5001 } else if (ssid->disabled != 2) { in wpa_supplicant_disable_network()
5002 if (ssid == wpa_s->current_ssid) { in wpa_supplicant_disable_network()
5009 was_disabled = ssid->disabled; in wpa_supplicant_disable_network()
5011 ssid->disabled = 1; in wpa_supplicant_disable_network()
5013 if (was_disabled != ssid->disabled) { in wpa_supplicant_disable_network()
5014 wpas_notify_network_enabled_changed(wpa_s, ssid); in wpa_supplicant_disable_network()
5032 struct wpa_ssid *ssid) in wpa_supplicant_select_network() argument
5038 if (ssid && ssid != wpa_s->current_ssid && wpa_s->current_ssid) { in wpa_supplicant_select_network()
5046 if (ssid) in wpa_supplicant_select_network()
5047 wpas_clear_temp_disabled(wpa_s, ssid, 1); in wpa_supplicant_select_network()
5053 for (other_ssid = wpa_s->conf->ssid; other_ssid; in wpa_supplicant_select_network()
5059 other_ssid->disabled = ssid ? (ssid->id != other_ssid->id) : 0; in wpa_supplicant_select_network()
5067 if (ssid && ssid == wpa_s->current_ssid && wpa_s->current_ssid && in wpa_supplicant_select_network()
5075 if (ssid) { in wpa_supplicant_select_network()
5076 wpa_s->current_ssid = ssid; in wpa_supplicant_select_network()
5079 (ssid->mode == WPAS_MODE_MESH || in wpa_supplicant_select_network()
5080 ssid->mode == WPAS_MODE_AP) ? ssid : NULL; in wpa_supplicant_select_network()
5096 if (ssid) { in wpa_supplicant_select_network()
5097 ssid->owe_transition_bss_select_count = 0; in wpa_supplicant_select_network()
5098 wpa_s_setup_sae_pt(wpa_s->conf, ssid, false); in wpa_supplicant_select_network()
5108 if (ssid) in wpa_supplicant_select_network()
5109 wpas_notify_network_selected(wpa_s, ssid); in wpa_supplicant_select_network()
5122 struct wpa_ssid *ssid, *next; in wpas_remove_cred() local
5139 ssid = wpa_s->conf->ssid; in wpas_remove_cred()
5140 while (ssid) { in wpas_remove_cred()
5141 next = ssid->next; in wpas_remove_cred()
5143 if (ssid->parent_cred == cred) { in wpas_remove_cred()
5146 ssid->id); in wpas_remove_cred()
5147 if (wpa_supplicant_remove_network(wpa_s, ssid->id) == in wpas_remove_cred()
5151 ssid->id); in wpas_remove_cred()
5155 ssid = next; in wpas_remove_cred()
5440 u8 ssid[SSID_MAX_LEN]; in wpa_supplicant_get_ssid() local
5446 res = wpa_drv_get_ssid(wpa_s, ssid); in wpa_supplicant_get_ssid()
5463 entry = wpa_s->conf->ssid; in wpa_supplicant_get_ssid()
5467 (!entry->ssid || in wpa_supplicant_get_ssid()
5468 os_memcmp(ssid, entry->ssid, ssid_len) == 0)) || in wpa_supplicant_get_ssid()
5476 (entry->ssid == NULL || entry->ssid_len == 0) && in wpa_supplicant_get_ssid()
5484 (entry->ssid && in wpa_supplicant_get_ssid()
5485 owe_trans_ssid_match(wpa_s, bssid, entry->ssid, in wpa_supplicant_get_ssid()
6256 struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid, in wpa_supplicant_apply_ht_overrides() argument
6262 if (!ssid) in wpa_supplicant_apply_ht_overrides()
6265 params->disable_ht = ssid->disable_ht; in wpa_supplicant_apply_ht_overrides()
6271 wpa_set_htcap_mcs(wpa_s, htcaps, htcaps_mask, ssid->ht_mcs); in wpa_supplicant_apply_ht_overrides()
6273 ssid->disable_max_amsdu); in wpa_supplicant_apply_ht_overrides()
6274 wpa_set_ampdu_factor(wpa_s, htcaps, htcaps_mask, ssid->ampdu_factor); in wpa_supplicant_apply_ht_overrides()
6275 wpa_set_ampdu_density(wpa_s, htcaps, htcaps_mask, ssid->ampdu_density); in wpa_supplicant_apply_ht_overrides()
6276 wpa_set_disable_ht40(wpa_s, htcaps, htcaps_mask, ssid->disable_ht40); in wpa_supplicant_apply_ht_overrides()
6277 wpa_set_disable_sgi(wpa_s, htcaps, htcaps_mask, ssid->disable_sgi); in wpa_supplicant_apply_ht_overrides()
6278 wpa_set_disable_ldpc(wpa_s, htcaps, htcaps_mask, ssid->disable_ldpc); in wpa_supplicant_apply_ht_overrides()
6279 wpa_set_rx_stbc(wpa_s, htcaps, htcaps_mask, ssid->rx_stbc); in wpa_supplicant_apply_ht_overrides()
6280 wpa_set_tx_stbc(wpa_s, htcaps, htcaps_mask, ssid->tx_stbc); in wpa_supplicant_apply_ht_overrides()
6282 if (ssid->ht40_intolerant) { in wpa_supplicant_apply_ht_overrides()
6294 struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid, in wpa_supplicant_apply_vht_overrides() argument
6300 if (!ssid) in wpa_supplicant_apply_vht_overrides()
6303 params->disable_vht = ssid->disable_vht; in wpa_supplicant_apply_vht_overrides()
6311 vhtcaps->vht_capabilities_info = host_to_le32(ssid->vht_capa); in wpa_supplicant_apply_vht_overrides()
6312 vhtcaps_mask->vht_capabilities_info = host_to_le32(ssid->vht_capa_mask); in wpa_supplicant_apply_vht_overrides()
6315 if (ssid->disable_sgi) { in wpa_supplicant_apply_vht_overrides()
6326 if (ssid->vht_capa_mask & VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MAX) { in wpa_supplicant_apply_vht_overrides()
6329 max_ampdu = (ssid->vht_capa & in wpa_supplicant_apply_vht_overrides()
6342 if (ssid->vht_tx_mcs_nss_ ##i >= 0) { \ in wpa_supplicant_apply_vht_overrides()
6346 host_to_le16(ssid->vht_tx_mcs_nss_ ##i << \ in wpa_supplicant_apply_vht_overrides()
6349 if (ssid->vht_rx_mcs_nss_ ##i >= 0) { \ in wpa_supplicant_apply_vht_overrides()
6353 host_to_le16(ssid->vht_rx_mcs_nss_ ##i << \ in wpa_supplicant_apply_vht_overrides()
6371 struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid, in wpa_supplicant_apply_he_overrides() argument
6374 if (!ssid) in wpa_supplicant_apply_he_overrides()
6377 params->disable_he = ssid->disable_he; in wpa_supplicant_apply_he_overrides()
6383 struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid, in wpa_supplicant_apply_eht_overrides() argument
6386 if (!ssid) in wpa_supplicant_apply_eht_overrides()
6389 params->disable_eht = ssid->disable_eht; in wpa_supplicant_apply_eht_overrides()
7760 struct wpa_ssid *ssid; in wpa_supplicant_add_iface() local
7800 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) in wpa_supplicant_add_iface()
7801 wpas_notify_network_added(wpa_s, ssid); in wpa_supplicant_add_iface()
8349 os_memcmp(bss->ssid, cbss->ssid, bss->ssid_len) == 0 && in get_bss_freqs_in_ess()
8480 struct wpa_ssid *ssid = wpa_s->current_ssid; in fils_pmksa_cache_flush() local
8496 if (!ssid || !ssid->eap.erp || !wpa_key_mgmt_fils(ssid->key_mgmt)) in fils_pmksa_cache_flush()
8499 if (eapol_sm_get_erp_info(wpa_s->eapol, &ssid->eap, in fils_pmksa_cache_flush()
8507 wpa_sm_external_pmksa_cache_flush(wpa_s->wpa, ssid); in fils_pmksa_cache_flush()
8513 wpa_sm_pmksa_cache_flush(wpa_s->wpa, ssid); in fils_pmksa_cache_flush()
8519 struct wpa_ssid *ssid = wpa_s->current_ssid; in fils_connection_failure() local
8524 if (!ssid || !ssid->eap.erp || !wpa_key_mgmt_fils(ssid->key_mgmt) || in fils_connection_failure()
8525 eapol_sm_get_erp_info(wpa_s->eapol, &ssid->eap, in fils_connection_failure()
8554 struct wpa_ssid *ssid, in wpa_supplicant_ctrl_iface_ctrl_rsp_handle() argument
8559 struct eap_peer_config *eap = &ssid->eap; in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8573 if (ssid == wpa_s->current_ssid) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8583 if (ssid == wpa_s->current_ssid) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8593 if (ssid == wpa_s->current_ssid) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8602 if (ssid == wpa_s->current_ssid) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8621 if (ssid == wpa_s->current_ssid) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8632 if (wpa_config_set(ssid, "psk", value, 0) < 0) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8634 ssid->mem_only_psk = 1; in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8635 if (ssid->passphrase) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8636 wpa_config_update_psk(ssid); in wpa_supplicant_ctrl_iface_ctrl_rsp_handle()
8664 int wpas_network_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid) in wpas_network_disabled() argument
8674 if (ssid == NULL) in wpas_network_disabled()
8677 if (ssid->disabled) in wpas_network_disabled()
8687 size_t len = ssid->wep_key_len[i]; in wpas_network_disabled()
8700 if (wpa_key_mgmt_wpa_psk(ssid->key_mgmt) && !ssid->psk_set && in wpas_network_disabled()
8701 (!ssid->passphrase || ssid->ssid_len != 0) && !ssid->ext_psk && in wpas_network_disabled()
8702 !(wpa_key_mgmt_sae(ssid->key_mgmt) && ssid->sae_password) && in wpas_network_disabled()
8703 !ssid->mem_only_psk) in wpas_network_disabled()
8708 if (ssid->eap.imsi_privacy_cert) { in wpas_network_disabled()
8712 key = crypto_rsa_key_read(ssid->eap.imsi_privacy_cert, false); in wpas_network_disabled()
8719 ssid->eap.imsi_privacy_cert); in wpas_network_disabled()
8730 int wpas_get_ssid_pmf(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid) in wpas_get_ssid_pmf() argument
8732 if (ssid == NULL || ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT) { in wpas_get_ssid_pmf()
8743 if (ssid && in wpas_get_ssid_pmf()
8744 (ssid->key_mgmt & in wpas_get_ssid_pmf()
8759 ssid && ssid->ocv) in wpas_get_ssid_pmf()
8766 return ssid->ieee80211w; in wpas_get_ssid_pmf()
8772 struct wpa_ssid *ssid, in wpas_is_sae_avoided() argument
8778 wpas_get_ssid_pmf(wpa_s, ssid) == NO_MGMT_FRAME_PROTECTION); in wpas_is_sae_avoided()
8813 struct wpa_ssid *ssid = wpa_s->current_ssid; in wpas_auth_failed() local
8817 if (ssid == NULL) { in wpas_auth_failed()
8823 if (ssid->key_mgmt == WPA_KEY_MGMT_WPS) in wpas_auth_failed()
8826 ssid->auth_failures++; in wpas_auth_failed()
8829 if (ssid->p2p_group && in wpas_auth_failed()
8839 if (ssid->auth_failures > 50) in wpas_auth_failed()
8841 else if (ssid->auth_failures > 10) in wpas_auth_failed()
8843 else if (ssid->auth_failures > 5) in wpas_auth_failed()
8845 else if (ssid->auth_failures > 3) in wpas_auth_failed()
8847 else if (ssid->auth_failures > 2) in wpas_auth_failed()
8849 else if (ssid->auth_failures > 1) in wpas_auth_failed()
8854 if (ssid->auth_failures > 1 && in wpas_auth_failed()
8855 wpa_key_mgmt_wpa_ieee8021x(ssid->key_mgmt)) in wpas_auth_failed()
8856 dur += os_random() % (ssid->auth_failures * 10); in wpas_auth_failed()
8859 if (now.sec + dur <= ssid->disabled_until.sec) in wpas_auth_failed()
8862 ssid->disabled_until.sec = now.sec + dur; in wpas_auth_failed()
8866 ssid->id, wpa_ssid_txt(ssid->ssid, ssid->ssid_len), in wpas_auth_failed()
8867 ssid->auth_failures, dur, reason); in wpas_auth_failed()
8870 os_memcpy(ssid->disabled_due_to, bssid, ETH_ALEN); in wpas_auth_failed()
8875 struct wpa_ssid *ssid, int clear_failures) in wpas_clear_temp_disabled() argument
8877 if (ssid == NULL) in wpas_clear_temp_disabled()
8880 if (ssid->disabled_until.sec) { in wpas_clear_temp_disabled()
8883 ssid->id, wpa_ssid_txt(ssid->ssid, ssid->ssid_len)); in wpas_clear_temp_disabled()
8885 ssid->disabled_until.sec = 0; in wpas_clear_temp_disabled()
8886 ssid->disabled_until.usec = 0; in wpas_clear_temp_disabled()
8888 ssid->auth_failures = 0; in wpas_clear_temp_disabled()
8889 } else if (!is_zero_ether_addr(ssid->disabled_due_to)) { in wpas_clear_temp_disabled()
8892 MAC2STR(ssid->disabled_due_to)); in wpas_clear_temp_disabled()
8893 wpa_bssid_ignore_add(wpa_s, ssid->disabled_due_to); in wpas_clear_temp_disabled()
8894 os_memset(ssid->disabled_due_to, 0, ETH_ALEN); in wpas_clear_temp_disabled()
8916 int disallowed_ssid(struct wpa_supplicant *wpa_s, const u8 *ssid, in disallowed_ssid() argument
8921 if (wpa_s->disallow_aps_ssid == NULL || ssid == NULL) in disallowed_ssid()
8927 os_memcmp(ssid, s->ssid, ssid_len) == 0) in disallowed_ssid()