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