Lines Matching refs:conf
187 struct hostapd_config *conf; in hostapd_config_defaults() local
210 conf = os_zalloc(sizeof(*conf)); in hostapd_config_defaults()
212 if (conf == NULL || bss == NULL) { in hostapd_config_defaults()
215 os_free(conf); in hostapd_config_defaults()
219 conf->bss = os_calloc(1, sizeof(struct hostapd_bss_config *)); in hostapd_config_defaults()
220 if (conf->bss == NULL) { in hostapd_config_defaults()
221 os_free(conf); in hostapd_config_defaults()
225 conf->bss[0] = bss; in hostapd_config_defaults()
229 os_free(conf->bss); in hostapd_config_defaults()
230 os_free(conf); in hostapd_config_defaults()
237 conf->num_bss = 1; in hostapd_config_defaults()
239 conf->beacon_int = 100; in hostapd_config_defaults()
240 conf->rts_threshold = -2; /* use driver default: 2347 */ in hostapd_config_defaults()
241 conf->fragm_threshold = -2; /* user driver default: 2346 */ in hostapd_config_defaults()
243 conf->local_pwr_constraint = -1; in hostapd_config_defaults()
245 conf->wmm_ac_params[0] = ac_be; in hostapd_config_defaults()
246 conf->wmm_ac_params[1] = ac_bk; in hostapd_config_defaults()
247 conf->wmm_ac_params[2] = ac_vi; in hostapd_config_defaults()
248 conf->wmm_ac_params[3] = ac_vo; in hostapd_config_defaults()
250 conf->tx_queue[0] = txq_vo; in hostapd_config_defaults()
251 conf->tx_queue[1] = txq_vi; in hostapd_config_defaults()
252 conf->tx_queue[2] = txq_be; in hostapd_config_defaults()
253 conf->tx_queue[3] = txq_bk; in hostapd_config_defaults()
255 conf->ht_capab = HT_CAP_INFO_SMPS_DISABLED; in hostapd_config_defaults()
257 conf->ap_table_max_size = 255; in hostapd_config_defaults()
258 conf->ap_table_expiration_time = 60; in hostapd_config_defaults()
259 conf->track_sta_max_age = 180; in hostapd_config_defaults()
262 conf->ignore_probe_probability = 0.0; in hostapd_config_defaults()
263 conf->ignore_auth_probability = 0.0; in hostapd_config_defaults()
264 conf->ignore_assoc_probability = 0.0; in hostapd_config_defaults()
265 conf->ignore_reassoc_probability = 0.0; in hostapd_config_defaults()
266 conf->corrupt_gtk_rekey_mic_probability = 0.0; in hostapd_config_defaults()
267 conf->ecsa_ie_only = 0; in hostapd_config_defaults()
270 conf->acs = 0; in hostapd_config_defaults()
271 conf->acs_ch_list.num = 0; in hostapd_config_defaults()
273 conf->acs_num_scans = 5; in hostapd_config_defaults()
277 conf->he_op.he_rts_threshold = HE_OPERATION_RTS_THRESHOLD_MASK >> in hostapd_config_defaults()
280 conf->he_op.he_basic_mcs_nss_set = 0xfffc; in hostapd_config_defaults()
281 conf->he_op.he_bss_color_disabled = 1; in hostapd_config_defaults()
282 conf->he_op.he_bss_color_partial = 0; in hostapd_config_defaults()
283 conf->he_op.he_bss_color = os_random() % 63 + 1; in hostapd_config_defaults()
284 conf->he_op.he_twt_responder = 1; in hostapd_config_defaults()
285 conf->he_6ghz_max_mpdu = 2; in hostapd_config_defaults()
286 conf->he_6ghz_max_ampdu_len_exp = 7; in hostapd_config_defaults()
287 conf->he_6ghz_rx_ant_pat = 1; in hostapd_config_defaults()
288 conf->he_6ghz_tx_ant_pat = 1; in hostapd_config_defaults()
289 conf->he_6ghz_reg_pwr_type = HE_REG_INFO_6GHZ_AP_TYPE_VLP; in hostapd_config_defaults()
290 conf->reg_def_cli_eirp_psd = -1; in hostapd_config_defaults()
291 conf->reg_sub_cli_eirp_psd = -1; in hostapd_config_defaults()
292 conf->reg_def_cli_eirp = -1; in hostapd_config_defaults()
298 conf->country[2] = ' '; in hostapd_config_defaults()
300 conf->rssi_reject_assoc_rssi = 0; in hostapd_config_defaults()
301 conf->rssi_reject_assoc_timeout = 30; in hostapd_config_defaults()
304 conf->airtime_update_interval = AIRTIME_DEFAULT_UPDATE_INTERVAL; in hostapd_config_defaults()
307 hostapd_set_and_check_bw320_offset(conf, 0); in hostapd_config_defaults()
309 return conf; in hostapd_config_defaults()
489 int hostapd_setup_sae_pt(struct hostapd_bss_config *conf) in hostapd_setup_sae_pt() argument
492 struct hostapd_ssid *ssid = &conf->ssid; in hostapd_setup_sae_pt()
495 if ((conf->sae_pwe == SAE_PWE_HUNT_AND_PECK && in hostapd_setup_sae_pt()
496 !hostapd_sae_pw_id_in_use(conf) && in hostapd_setup_sae_pt()
497 !wpa_key_mgmt_sae_ext_key(conf->wpa_key_mgmt) && in hostapd_setup_sae_pt()
498 !hostapd_sae_pk_in_use(conf)) || in hostapd_setup_sae_pt()
499 conf->sae_pwe == SAE_PWE_FORCE_HUNT_AND_PECK || in hostapd_setup_sae_pt()
500 !wpa_key_mgmt_sae(conf->wpa_key_mgmt)) in hostapd_setup_sae_pt()
506 ssid->pt = sae_derive_pt(conf->sae_groups, ssid->ssid, in hostapd_setup_sae_pt()
515 for (pw = conf->sae_passwords; pw; pw = pw->next) { in hostapd_setup_sae_pt()
517 pw->pt = sae_derive_pt(conf->sae_groups, ssid->ssid, in hostapd_setup_sae_pt()
531 int hostapd_setup_wpa_psk(struct hostapd_bss_config *conf) in hostapd_setup_wpa_psk() argument
533 struct hostapd_ssid *ssid = &conf->ssid; in hostapd_setup_wpa_psk()
535 if (hostapd_setup_sae_pt(conf) < 0) in hostapd_setup_wpa_psk()
551 return hostapd_config_read_wpa_psk(ssid->wpa_psk_file, &conf->ssid); in hostapd_setup_wpa_psk()
713 void hostapd_config_clear_rxkhs(struct hostapd_bss_config *conf) in hostapd_config_clear_rxkhs() argument
718 r0kh = conf->r0kh_list; in hostapd_config_clear_rxkhs()
719 conf->r0kh_list = NULL; in hostapd_config_clear_rxkhs()
726 r1kh = conf->r1kh_list; in hostapd_config_clear_rxkhs()
727 conf->r1kh_list = NULL; in hostapd_config_clear_rxkhs()
738 static void hostapd_config_free_anqp_elem(struct hostapd_bss_config *conf) in hostapd_config_free_anqp_elem() argument
742 while ((elem = dl_list_first(&conf->anqp_elem, struct anqp_element, in hostapd_config_free_anqp_elem()
751 static void hostapd_config_free_fils_realms(struct hostapd_bss_config *conf) in hostapd_config_free_fils_realms() argument
756 while ((realm = dl_list_first(&conf->fils_realms, struct fils_realm, in hostapd_config_free_fils_realms()
765 static void hostapd_config_free_sae_passwords(struct hostapd_bss_config *conf) in hostapd_config_free_sae_passwords() argument
769 pw = conf->sae_passwords; in hostapd_config_free_sae_passwords()
770 conf->sae_passwords = NULL; in hostapd_config_free_sae_passwords()
788 static void hostapd_dpp_controller_conf_free(struct dpp_controller_conf *conf) in hostapd_dpp_controller_conf_free() argument
792 while (conf) { in hostapd_dpp_controller_conf_free()
793 prev = conf; in hostapd_dpp_controller_conf_free()
794 conf = conf->next; in hostapd_dpp_controller_conf_free()
801 void hostapd_config_free_bss(struct hostapd_bss_config *conf) in hostapd_config_free_bss() argument
807 if (conf == NULL) in hostapd_config_free_bss()
810 hostapd_config_clear_wpa_psk(&conf->ssid.wpa_psk); in hostapd_config_free_bss()
812 str_clear_free(conf->ssid.wpa_passphrase); in hostapd_config_free_bss()
813 os_free(conf->ssid.wpa_psk_file); in hostapd_config_free_bss()
815 hostapd_config_free_wep(&conf->ssid.wep); in hostapd_config_free_bss()
818 os_free(conf->ssid.vlan_tagged_interface); in hostapd_config_free_bss()
821 sae_deinit_pt(conf->ssid.pt); in hostapd_config_free_bss()
824 hostapd_config_free_eap_users(conf->eap_user); in hostapd_config_free_bss()
825 os_free(conf->eap_user_sqlite); in hostapd_config_free_bss()
827 os_free(conf->eap_req_id_text); in hostapd_config_free_bss()
828 os_free(conf->erp_domain); in hostapd_config_free_bss()
829 os_free(conf->accept_mac); in hostapd_config_free_bss()
830 os_free(conf->deny_mac); in hostapd_config_free_bss()
831 os_free(conf->nas_identifier); in hostapd_config_free_bss()
832 if (conf->radius) { in hostapd_config_free_bss()
833 hostapd_config_free_radius(conf->radius->auth_servers, in hostapd_config_free_bss()
834 conf->radius->num_auth_servers); in hostapd_config_free_bss()
835 hostapd_config_free_radius(conf->radius->acct_servers, in hostapd_config_free_bss()
836 conf->radius->num_acct_servers); in hostapd_config_free_bss()
837 os_free(conf->radius->force_client_dev); in hostapd_config_free_bss()
839 hostapd_config_free_radius_attr(conf->radius_auth_req_attr); in hostapd_config_free_bss()
840 hostapd_config_free_radius_attr(conf->radius_acct_req_attr); in hostapd_config_free_bss()
841 os_free(conf->radius_req_attr_sqlite); in hostapd_config_free_bss()
842 os_free(conf->rsn_preauth_interfaces); in hostapd_config_free_bss()
843 os_free(conf->ctrl_interface); in hostapd_config_free_bss()
844 os_free(conf->config_id); in hostapd_config_free_bss()
845 os_free(conf->ca_cert); in hostapd_config_free_bss()
846 os_free(conf->server_cert); in hostapd_config_free_bss()
847 os_free(conf->server_cert2); in hostapd_config_free_bss()
848 os_free(conf->private_key); in hostapd_config_free_bss()
849 os_free(conf->private_key2); in hostapd_config_free_bss()
850 os_free(conf->private_key_passwd); in hostapd_config_free_bss()
851 os_free(conf->private_key_passwd2); in hostapd_config_free_bss()
852 os_free(conf->check_cert_subject); in hostapd_config_free_bss()
853 os_free(conf->ocsp_stapling_response); in hostapd_config_free_bss()
854 os_free(conf->ocsp_stapling_response_multi); in hostapd_config_free_bss()
855 os_free(conf->dh_file); in hostapd_config_free_bss()
856 os_free(conf->openssl_ciphers); in hostapd_config_free_bss()
857 os_free(conf->openssl_ecdh_curves); in hostapd_config_free_bss()
858 os_free(conf->pac_opaque_encr_key); in hostapd_config_free_bss()
859 os_free(conf->eap_fast_a_id); in hostapd_config_free_bss()
860 os_free(conf->eap_fast_a_id_info); in hostapd_config_free_bss()
861 os_free(conf->eap_sim_db); in hostapd_config_free_bss()
862 os_free(conf->imsi_privacy_key); in hostapd_config_free_bss()
863 os_free(conf->radius_server_clients); in hostapd_config_free_bss()
864 os_free(conf->radius); in hostapd_config_free_bss()
865 os_free(conf->radius_das_shared_secret); in hostapd_config_free_bss()
866 hostapd_config_free_vlan(conf); in hostapd_config_free_bss()
867 os_free(conf->time_zone); in hostapd_config_free_bss()
870 hostapd_config_clear_rxkhs(conf); in hostapd_config_free_bss()
871 os_free(conf->rxkh_file); in hostapd_config_free_bss()
872 conf->rxkh_file = NULL; in hostapd_config_free_bss()
876 os_free(conf->wps_pin_requests); in hostapd_config_free_bss()
877 os_free(conf->device_name); in hostapd_config_free_bss()
878 os_free(conf->manufacturer); in hostapd_config_free_bss()
879 os_free(conf->model_name); in hostapd_config_free_bss()
880 os_free(conf->model_number); in hostapd_config_free_bss()
881 os_free(conf->serial_number); in hostapd_config_free_bss()
882 os_free(conf->config_methods); in hostapd_config_free_bss()
883 os_free(conf->ap_pin); in hostapd_config_free_bss()
884 os_free(conf->extra_cred); in hostapd_config_free_bss()
885 os_free(conf->ap_settings); in hostapd_config_free_bss()
886 hostapd_config_clear_wpa_psk(&conf->multi_ap_backhaul_ssid.wpa_psk); in hostapd_config_free_bss()
887 str_clear_free(conf->multi_ap_backhaul_ssid.wpa_passphrase); in hostapd_config_free_bss()
888 os_free(conf->upnp_iface); in hostapd_config_free_bss()
889 os_free(conf->friendly_name); in hostapd_config_free_bss()
890 os_free(conf->manufacturer_url); in hostapd_config_free_bss()
891 os_free(conf->model_description); in hostapd_config_free_bss()
892 os_free(conf->model_url); in hostapd_config_free_bss()
893 os_free(conf->upc); in hostapd_config_free_bss()
895 wpabuf_free(conf->wps_vendor_ext[i]); in hostapd_config_free_bss()
896 wpabuf_free(conf->wps_application_ext); in hostapd_config_free_bss()
897 wpabuf_free(conf->wps_nfc_dh_pubkey); in hostapd_config_free_bss()
898 wpabuf_free(conf->wps_nfc_dh_privkey); in hostapd_config_free_bss()
899 wpabuf_free(conf->wps_nfc_dev_pw); in hostapd_config_free_bss()
902 os_free(conf->roaming_consortium); in hostapd_config_free_bss()
903 os_free(conf->venue_name); in hostapd_config_free_bss()
904 os_free(conf->venue_url); in hostapd_config_free_bss()
905 os_free(conf->nai_realm_data); in hostapd_config_free_bss()
906 os_free(conf->network_auth_type); in hostapd_config_free_bss()
907 os_free(conf->anqp_3gpp_cell_net); in hostapd_config_free_bss()
908 os_free(conf->domain_name); in hostapd_config_free_bss()
909 hostapd_config_free_anqp_elem(conf); in hostapd_config_free_bss()
912 os_free(conf->dump_msk_file); in hostapd_config_free_bss()
916 os_free(conf->hs20_oper_friendly_name); in hostapd_config_free_bss()
917 os_free(conf->hs20_wan_metrics); in hostapd_config_free_bss()
918 os_free(conf->hs20_connection_capability); in hostapd_config_free_bss()
919 os_free(conf->hs20_operating_class); in hostapd_config_free_bss()
920 os_free(conf->hs20_icons); in hostapd_config_free_bss()
921 if (conf->hs20_osu_providers) { in hostapd_config_free_bss()
922 for (i = 0; i < conf->hs20_osu_providers_count; i++) { in hostapd_config_free_bss()
925 p = &conf->hs20_osu_providers[i]; in hostapd_config_free_bss()
936 os_free(conf->hs20_osu_providers); in hostapd_config_free_bss()
938 if (conf->hs20_operator_icon) { in hostapd_config_free_bss()
939 for (i = 0; i < conf->hs20_operator_icon_count; i++) in hostapd_config_free_bss()
940 os_free(conf->hs20_operator_icon[i]); in hostapd_config_free_bss()
941 os_free(conf->hs20_operator_icon); in hostapd_config_free_bss()
943 os_free(conf->subscr_remediation_url); in hostapd_config_free_bss()
944 os_free(conf->hs20_sim_provisioning_url); in hostapd_config_free_bss()
945 os_free(conf->t_c_filename); in hostapd_config_free_bss()
946 os_free(conf->t_c_server_url); in hostapd_config_free_bss()
949 wpabuf_free(conf->vendor_elements); in hostapd_config_free_bss()
950 wpabuf_free(conf->assocresp_elements); in hostapd_config_free_bss()
952 os_free(conf->sae_groups); in hostapd_config_free_bss()
954 os_free(conf->owe_groups); in hostapd_config_free_bss()
957 os_free(conf->wowlan_triggers); in hostapd_config_free_bss()
959 os_free(conf->server_id); in hostapd_config_free_bss()
962 wpabuf_free(conf->own_ie_override); in hostapd_config_free_bss()
963 wpabuf_free(conf->sae_commit_override); in hostapd_config_free_bss()
964 wpabuf_free(conf->rsne_override_eapol); in hostapd_config_free_bss()
965 wpabuf_free(conf->rsnxe_override_eapol); in hostapd_config_free_bss()
966 wpabuf_free(conf->rsne_override_ft); in hostapd_config_free_bss()
967 wpabuf_free(conf->rsnxe_override_ft); in hostapd_config_free_bss()
968 wpabuf_free(conf->gtk_rsc_override); in hostapd_config_free_bss()
969 wpabuf_free(conf->igtk_rsc_override); in hostapd_config_free_bss()
970 wpabuf_free(conf->eapol_m1_elements); in hostapd_config_free_bss()
971 wpabuf_free(conf->eapol_m3_elements); in hostapd_config_free_bss()
972 wpabuf_free(conf->presp_elements); in hostapd_config_free_bss()
975 os_free(conf->no_probe_resp_if_seen_on); in hostapd_config_free_bss()
976 os_free(conf->no_auth_if_seen_on); in hostapd_config_free_bss()
978 hostapd_config_free_fils_realms(conf); in hostapd_config_free_bss()
981 os_free(conf->dpp_name); in hostapd_config_free_bss()
982 os_free(conf->dpp_mud_url); in hostapd_config_free_bss()
983 os_free(conf->dpp_extra_conf_req_name); in hostapd_config_free_bss()
984 os_free(conf->dpp_extra_conf_req_value); in hostapd_config_free_bss()
985 os_free(conf->dpp_connector); in hostapd_config_free_bss()
986 wpabuf_free(conf->dpp_netaccesskey); in hostapd_config_free_bss()
987 wpabuf_free(conf->dpp_csign); in hostapd_config_free_bss()
989 hostapd_dpp_controller_conf_free(conf->dpp_controller); in hostapd_config_free_bss()
993 hostapd_config_free_sae_passwords(conf); in hostapd_config_free_bss()
999 wt = conf->airtime_weight_list; in hostapd_config_free_bss()
1000 conf->airtime_weight_list = NULL; in hostapd_config_free_bss()
1010 os_free(conf->pasn_groups); in hostapd_config_free_bss()
1013 os_free(conf); in hostapd_config_free_bss()
1021 void hostapd_config_free(struct hostapd_config *conf) in hostapd_config_free() argument
1025 if (conf == NULL) in hostapd_config_free()
1028 for (i = 0; i < conf->num_bss; i++) in hostapd_config_free()
1029 hostapd_config_free_bss(conf->bss[i]); in hostapd_config_free()
1030 os_free(conf->bss); in hostapd_config_free()
1031 os_free(conf->supported_rates); in hostapd_config_free()
1032 os_free(conf->basic_rates); in hostapd_config_free()
1033 os_free(conf->acs_ch_list.range); in hostapd_config_free()
1034 os_free(conf->acs_freq_list.range); in hostapd_config_free()
1035 os_free(conf->driver_params); in hostapd_config_free()
1037 os_free(conf->acs_chan_bias); in hostapd_config_free()
1039 wpabuf_free(conf->lci); in hostapd_config_free()
1040 wpabuf_free(conf->civic); in hostapd_config_free()
1042 os_free(conf); in hostapd_config_free()
1136 const u8 * hostapd_get_psk(const struct hostapd_bss_config *conf, in hostapd_get_psk() argument
1157 for (psk = conf->ssid.wpa_psk; psk != NULL; psk = psk->next) { in hostapd_get_psk()
1256 struct hostapd_config *conf, in hostapd_config_check_bss() argument
1259 if (full_config && is_6ghz_op_class(conf->op_class) && in hostapd_config_check_bss()
1314 for (i = 0; i < conf->num_bss; i++) { in hostapd_config_check_bss()
1315 if (conf->bss[i] != bss && in hostapd_config_check_bss()
1316 (hostapd_mac_comp(conf->bss[i]->bssid, in hostapd_config_check_bss()
1321 conf->bss[i]->iface, bss->iface); in hostapd_config_check_bss()
1339 if (full_config && conf->ieee80211n && in hostapd_config_check_bss()
1340 conf->hw_mode == HOSTAPD_MODE_IEEE80211B) { in hostapd_config_check_bss()
1347 if (full_config && conf->ieee80211n && in hostapd_config_check_bss()
1355 if (full_config && conf->ieee80211n && bss->wpa && in hostapd_config_check_bss()
1368 if (full_config && conf->ieee80211ac && in hostapd_config_check_bss()
1376 if (full_config && conf->ieee80211ac && bss->wpa && in hostapd_config_check_bss()
1389 if (full_config && conf->ieee80211ax && in hostapd_config_check_bss()
1397 if (full_config && conf->ieee80211ax && bss->wpa && in hostapd_config_check_bss()
1477 (!conf->ieee80211ax || bss->disable_11ax)) { in hostapd_config_check_bss()
1499 if (full_config && bss->ignore_broadcast_ssid && conf->mbssid) { in hostapd_config_check_bss()
1509 static int hostapd_config_check_cw(struct hostapd_config *conf, int queue) in hostapd_config_check_cw() argument
1511 int tx_cwmin = conf->tx_queue[queue].cwmin; in hostapd_config_check_cw()
1512 int tx_cwmax = conf->tx_queue[queue].cwmax; in hostapd_config_check_cw()
1513 int ac_cwmin = conf->wmm_ac_params[queue].cwmin; in hostapd_config_check_cw()
1514 int ac_cwmax = conf->wmm_ac_params[queue].cwmax; in hostapd_config_check_cw()
1532 int hostapd_config_check(struct hostapd_config *conf, int full_config) in hostapd_config_check() argument
1536 if (full_config && is_6ghz_op_class(conf->op_class) && in hostapd_config_check()
1537 !conf->hw_mode_set) { in hostapd_config_check()
1540 conf->hw_mode = HOSTAPD_MODE_IEEE80211A; in hostapd_config_check()
1543 if (full_config && conf->ieee80211d && in hostapd_config_check()
1544 (!conf->country[0] || !conf->country[1])) { in hostapd_config_check()
1550 if (full_config && conf->ieee80211h && !conf->ieee80211d) { in hostapd_config_check()
1556 if (full_config && conf->local_pwr_constraint != -1 && in hostapd_config_check()
1557 !conf->ieee80211d) { in hostapd_config_check()
1562 if (full_config && conf->spectrum_mgmt_required && in hostapd_config_check()
1563 conf->local_pwr_constraint == -1) { in hostapd_config_check()
1569 if (full_config && conf->airtime_mode > AIRTIME_MODE_STATIC && in hostapd_config_check()
1570 !conf->airtime_update_interval) { in hostapd_config_check()
1576 if (hostapd_config_check_cw(conf, i)) in hostapd_config_check()
1581 if (full_config && conf->ieee80211be && !conf->ieee80211ax) { in hostapd_config_check()
1588 hostapd_set_and_check_bw320_offset(conf, in hostapd_config_check()
1589 conf->eht_bw320_offset); in hostapd_config_check()
1592 if (full_config && conf->mbssid && !conf->ieee80211ax) { in hostapd_config_check()
1598 for (i = 0; i < conf->num_bss; i++) { in hostapd_config_check()
1599 if (hostapd_config_check_bss(conf->bss[i], conf, full_config)) in hostapd_config_check()
1688 int hostapd_sae_pw_id_in_use(struct hostapd_bss_config *conf) in hostapd_sae_pw_id_in_use() argument
1693 if (conf->ssid.wpa_passphrase) in hostapd_sae_pw_id_in_use()
1696 for (pw = conf->sae_passwords; pw; pw = pw->next) { in hostapd_sae_pw_id_in_use()
1711 bool hostapd_sae_pk_in_use(struct hostapd_bss_config *conf) in hostapd_sae_pk_in_use() argument
1716 for (pw = conf->sae_passwords; pw; pw = pw->next) { in hostapd_sae_pk_in_use()
1727 bool hostapd_sae_pk_exclusively(struct hostapd_bss_config *conf) in hostapd_sae_pk_exclusively() argument
1732 if (conf->ssid.wpa_passphrase) in hostapd_sae_pk_exclusively()
1735 for (pw = conf->sae_passwords; pw; pw = pw->next) { in hostapd_sae_pk_exclusively()