Lines Matching defs:wpa_supplicant
680 struct wpa_supplicant { struct
691 struct wpa_supplicant *parent; argument
692 struct wpa_supplicant *p2pdev; argument
693 struct wpa_supplicant *next; argument
694 struct l2_packet_data *l2;
695 struct l2_packet_data *l2_br;
696 struct os_reltime roam_start;
697 struct os_reltime roam_time;
698 struct os_reltime session_start;
699 struct os_reltime session_length;
700 unsigned char own_addr[ETH_ALEN];
701 unsigned char perm_addr[ETH_ALEN];
702 char ifname[100];
704 int matched;
707 char *dbus_new_path;
708 char *dbus_groupobj_path;
710 char *preq_notify_peer;
714 const void *binder_object_key;
716 char bridge_ifname[16];
718 char *confname;
719 char *confanother;
721 struct wpa_config *conf;
722 int countermeasures;
723 struct os_reltime last_michael_mic_error;
724 u8 bssid[ETH_ALEN];
725 u8 pending_bssid[ETH_ALEN]; /* If wpa_state == WPA_ASSOCIATING, this
727 int reassociate; /* reassociation requested */
728 bool roam_in_progress; /* roam in progress */
729 unsigned int reassoc_same_bss:1; /* reassociating to the same BSS */
730 unsigned int reassoc_same_ess:1; /* reassociating to the same ESS */
731 int disconnected; /* all connections disabled; i.e., do no reassociate
733 struct wpa_ssid *current_ssid;
734 struct wpa_ssid *last_ssid;
735 struct wpa_bss *current_bss;
736 int ap_ies_from_associnfo;
737 unsigned int assoc_freq;
738 u8 ap_mld_addr[ETH_ALEN];
739 u8 mlo_assoc_link_id;
740 u16 valid_links; /* bitmap of valid MLO link IDs */
741 struct {
747 } links[MAX_NUM_MLD_LINKS];
748 u8 *last_con_fail_realm;
749 size_t last_con_fail_realm_len;
752 int pairwise_cipher;
753 int deny_ptk0_rekey;
754 int group_cipher;
755 int key_mgmt;
756 int wpa_proto;
757 int mgmt_group_cipher;
762 int allowed_key_mgmts;
764 void *drv_priv; /* private data used by driver_ops */
765 void *global_drv_priv;
767 u8 *bssid_filter;
768 size_t bssid_filter_count;
770 u8 *disallow_aps_bssid;
771 size_t disallow_aps_bssid_count;
772 struct wpa_ssid_value *disallow_aps_ssid;
773 size_t disallow_aps_ssid_count;
798 void (*scan_res_handler)(struct wpa_supplicant *wpa_s, argument
800 void (*scan_res_fail_handler)(struct wpa_supplicant *wpa_s); argument
801 struct dl_list bss; /* struct wpa_bss::list */
802 struct dl_list bss_id; /* struct wpa_bss::list_id */
803 size_t num_bss;
804 unsigned int bss_update_idx;
805 unsigned int bss_next_id;
811 struct wpa_bss **last_scan_res;
812 size_t last_scan_res_used;
813 size_t last_scan_res_size;
814 struct os_reltime last_scan;
816 const struct wpa_driver_ops *driver;
817 int interface_removed; /* whether the network interface has been
819 struct wpa_sm *wpa;
820 struct ptksa_cache *ptksa;
822 struct eapol_sm *eapol;
824 struct ctrl_iface_priv *ctrl_iface;
826 enum wpa_states wpa_state;
827 struct wpa_radio_work *scan_work;
828 int scanning;
829 int sched_scanning;
830 unsigned int sched_scan_stop_req:1;
831 int new_connection;
833 int eapol_received; /* number of EAPOL packets received after the
836 u8 rsnxe[20];
860 * This is used for scans initiated by wpa_supplicant to find an argument
882 } scan_req, last_scan_req;
883 enum wpa_states scan_prev_wpa_state;
884 struct os_reltime scan_trigger_time, scan_start_time;
886 struct os_reltime scan_min_time;
887 int scan_runs; /* number of scan runs since WPS was started */
888 int *next_scan_freqs;
889 int *select_network_scan_freqs;
890 int *manual_scan_freqs;
891 int *manual_sched_scan_freqs;
892 unsigned int manual_scan_passive:1;
893 unsigned int manual_scan_use_id:1;
894 unsigned int manual_scan_only_new:1;
895 unsigned int own_scan_requested:1;
896 unsigned int own_scan_running:1;
897 unsigned int clear_driver_scan_cache:1;
898 unsigned int manual_non_coloc_6ghz:1;
899 unsigned int manual_scan_id;
900 int scan_interval; /* time in sec between scans to find suitable AP */
901 int normal_scans; /* normal scans run before sched_scan */
902 int scan_for_connection; /* whether the scan request was triggered for
909 u64 curr_scan_cookie;
911 int scan_id[MAX_SCAN_ID];
912 unsigned int scan_id_count;
913 u8 next_scan_bssid[ETH_ALEN];
914 unsigned int next_scan_bssid_wildcard_ssid:1;
916 struct wpa_ssid_value *ssids_from_scan_req;
917 unsigned int num_ssids_from_scan_req;
918 int *last_scan_freqs;
919 unsigned int num_last_scan_freqs;
920 unsigned int suitable_network;
921 unsigned int no_suitable_network;
923 u8 ml_probe_bssid[ETH_ALEN];
924 int ml_probe_mld_id;
925 u16 ml_probe_links;
927 u64 drv_flags;
928 u64 drv_flags2;
929 unsigned int drv_enc;
930 unsigned int drv_key_mgmt;
931 unsigned int drv_rrm_flags;
932 unsigned int drv_max_acl_mac_addrs;
938 unsigned int probe_resp_offloads;
941 const u8 *extended_capa, *extended_capa_mask;
942 unsigned int extended_capa_len;
944 int max_scan_ssids;
945 int max_sched_scan_ssids;
946 unsigned int max_sched_scan_plans;
947 unsigned int max_sched_scan_plan_interval;
948 unsigned int max_sched_scan_plan_iterations;
949 int sched_scan_supported;
950 unsigned int max_match_sets;
951 unsigned int max_remain_on_chan;
952 unsigned int max_stations;
953 unsigned int max_num_akms;
955 int pending_mic_error_report;
956 int pending_mic_error_pairwise;
957 int mic_errors_seen; /* Michael MIC errors with the current PTK */
959 struct wps_context *wps;
960 int wps_success; /* WPS success event received */
961 struct wps_er *wps_er;
962 unsigned int wps_run;
963 struct os_reltime wps_pin_start_time;
964 bool bssid_ignore_cleared;
966 struct wpabuf *pending_eapol_rx;
967 struct os_reltime pending_eapol_rx_time;
968 u8 pending_eapol_rx_src[ETH_ALEN];
969 enum frame_encryption pending_eapol_encrypted;
970 unsigned int last_eapol_matches_bssid:1;
971 unsigned int eapol_failed:1;
972 unsigned int eap_expected_failure:1;
973 unsigned int reattach:1; /* reassociation to the same BSS requested */
974 unsigned int mac_addr_changed:1;
975 unsigned int added_vif:1;
976 unsigned int wnmsleep_used:1;
977 unsigned int owe_transition_select:1;
978 unsigned int owe_transition_search:1;
979 unsigned int connection_set:1;
980 unsigned int connection_ht:1;
981 unsigned int connection_vht:1;
982 unsigned int connection_he:1;
983 unsigned int connection_eht:1;
984 unsigned int disable_mbo_oce:1;
985 unsigned int connection_a:1;
986 unsigned int connection_b:1;
987 unsigned int connection_g:1;
989 struct os_reltime last_mac_addr_change;
990 enum wpas_mac_addr_style last_mac_addr_style;
992 struct ibss_rsn *ibss_rsn;
994 int set_sta_uapsd;
995 int sta_uapsd;
996 int set_ap_uapsd;
997 int ap_uapsd;
998 int auth_alg;
999 u16 last_owe_group;
1002 struct {
1048 } sme;
1052 struct hostapd_iface *ap_iface;
1053 void (*ap_configured_cb)(void *ctx, void *data);
1054 void *ap_configured_cb_ctx;
1055 void *ap_configured_cb_data;
1058 struct hostapd_iface *ifmsh;
1083 void (*pending_action_tx_status_cb)(struct wpa_supplicant *wpa_s, argument
1089 unsigned int roc_waiting_drv_freq;
1090 int action_tx_wait_time;
1091 int action_tx_wait_time_used;
1093 int p2p_mgmt;
1096 struct p2p_go_neg_results *go_params;
1097 int create_p2p_iface;
1098 u8 pending_interface_addr[ETH_ALEN];
1099 char pending_interface_name[100];
1100 int pending_interface_type;
1101 int p2p_group_idx;
1102 unsigned int pending_listen_freq;
1103 unsigned int pending_listen_duration;
1104 enum {
1109 } p2p_group_interface;
1110 struct p2p_group *p2p_group;
1111 char p2p_pin[10];
1112 int p2p_wps_method;
1113 u8 p2p_auth_invite[ETH_ALEN];
1114 int p2p_sd_over_ctrl_iface;
1115 int p2p_in_provisioning;
1116 int p2p_in_invitation;
1117 int p2p_retry_limit;
1118 int p2p_invite_go_freq;
1119 int pending_invite_ssid_id;
1120 int show_group_started;
1121 u8 go_dev_addr[ETH_ALEN];
1122 int pending_pd_before_join;
1123 u8 pending_join_iface_addr[ETH_ALEN];
1124 u8 pending_join_dev_addr[ETH_ALEN];
1125 int pending_join_wps_method;
1126 u8 p2p_join_ssid[SSID_MAX_LEN];
1127 size_t p2p_join_ssid_len;
1128 int p2p_join_scan_count;
1129 int auto_pd_scan_retry;
1130 int force_long_sd;
1131 u16 pending_pd_config_methods;
1132 enum {
1134 } pending_pd_use;
1140 int cross_connect_disallowed;
1147 int cross_connect_enabled;
1150 int cross_connect_in_use;
1155 char cross_connect_uplink[100];
1157 unsigned int p2p_auto_join:1;
1158 unsigned int p2p_auto_pd:1;
1159 unsigned int p2p_go_do_acs:1;
1160 unsigned int p2p_persistent_group:1;
1161 unsigned int p2p_fallback_to_go_neg:1;
1162 unsigned int p2p_pd_before_go_neg:1;
1163 unsigned int p2p_go_ht40:1;
1164 unsigned int p2p_go_vht:1;
1165 unsigned int p2p_go_edmg:1;
1166 unsigned int p2p_go_he:1;
1167 unsigned int user_initiated_pd:1;
1168 unsigned int p2p_go_group_formation_completed:1;
1169 unsigned int group_formation_reported:1;
1170 unsigned int p2p_go_no_pri_sec_switch:1;
1171 unsigned int waiting_presence_resp;
1172 int p2p_first_connection_timeout;
1173 unsigned int p2p_nfc_tag_enabled:1;
1174 unsigned int p2p_peer_oob_pk_hash_known:1;
1175 unsigned int p2p_disable_ip_addr_req:1;
1176 unsigned int p2ps_method_config_any:1;
1177 unsigned int p2p_cli_probe:1;
1178 unsigned int p2p_go_allow_dfs:1;
1179 enum hostapd_hw_mode p2p_go_acs_band;
1180 int p2p_persistent_go_freq;
1181 int p2p_persistent_id;
1182 int p2p_go_intent;
1183 int p2p_connect_freq;
1184 struct os_reltime p2p_auto_started;
1185 struct wpa_ssid *p2p_last_4way_hs_fail;
1186 struct wpa_radio_work *p2p_scan_work;
1187 struct wpa_radio_work *p2p_listen_work;
1188 struct wpa_radio_work *p2p_send_action_work;
1190 u16 p2p_oob_dev_pw_id; /* OOB Device Password Id for group formation */
1191 struct wpabuf *p2p_oob_dev_pw; /* OOB Device Password for group
1193 u8 p2p_peer_oob_pubkey_hash[WPS_OOB_PUBKEY_HASH_LEN];
1194 u8 p2p_ip_addr_info[3 * 4];
1197 int *p2p_group_common_freqs;
1198 unsigned int p2p_group_common_freqs_num;
1199 u8 p2ps_join_addr[ETH_ALEN];
1201 unsigned int p2p_go_max_oper_chwidth;
1202 unsigned int p2p_go_vht_center_freq2;
1203 int p2p_lo_started;
1206 struct wpa_ssid *bgscan_ssid;
1207 const struct bgscan_ops *bgscan;
1208 void *bgscan_priv;
1209 int signal_threshold;
1211 const struct autoscan_ops *autoscan;
1212 struct wpa_driver_scan_params *autoscan_params;
1213 void *autoscan_priv;
1215 struct wpa_ssid *connect_without_scan;
1217 struct wps_ap_info *wps_ap;
1218 size_t num_wps_ap;
1219 int wps_ap_iter;
1221 int after_wps;
1222 int known_wps_freq;
1223 unsigned int wps_freq;
1224 int wps_fragment_size;
1225 int auto_reconnect_disabled;
1228 int best_24_freq;
1229 int best_5_freq;
1230 int best_overall_freq;
1232 struct gas_query *gas;
1233 struct gas_server *gas_server;
1236 unsigned int fetch_anqp_in_progress:1;
1237 unsigned int network_select:1;
1238 unsigned int auto_select:1;
1239 unsigned int auto_network_select:1;
1240 unsigned int interworking_fast_assoc_tried:1;
1241 unsigned int fetch_all_anqp:1;
1242 unsigned int fetch_osu_info:1;
1243 unsigned int fetch_osu_waiting_scan:1;
1244 unsigned int fetch_osu_icon_in_progress:1;
1245 struct wpa_bss *interworking_gas_bss;
1246 unsigned int osu_icon_id;
1247 struct dl_list icon_head; /* struct icon_entry */
1248 struct osu_provider *osu_prov;
1249 size_t osu_prov_count;
1250 struct os_reltime osu_icon_fetch_start;
1251 unsigned int num_osu_scans;
1252 unsigned int num_prov_found;
1254 unsigned int drv_capa_known;
1256 struct {
1260 } hw;
1261 enum local_hw_capab {
1266 } hw_capab;
1268 struct ieee802_1x_kay *kay;
1271 int pno;
1272 int pno_sched_pending;
1275 int disconnect_reason;
1279 u16 auth_status_code;
1282 u16 assoc_status_code;
1284 struct ext_password_data *ext_pw;
1286 struct wpabuf *last_gas_resp, *prev_gas_resp;
1287 u8 last_gas_addr[ETH_ALEN], prev_gas_addr[ETH_ALEN];
1288 u8 last_gas_dialog_token, prev_gas_dialog_token;
1290 unsigned int no_keep_alive:1;
1291 unsigned int ext_mgmt_frame_handling:1;
1292 unsigned int ext_eapol_frame_io:1;
1293 unsigned int wmm_ac_supported:1;
1294 unsigned int ext_work_in_progress:1;
1295 unsigned int own_disconnect_req:1;
1296 unsigned int own_reconnect_req:1;
1297 unsigned int ignore_post_flush_scan_res:1;
1305 unsigned int mac_addr_rand_supported;
1306 unsigned int mac_addr_rand_enable;
1309 u8 *mac_addr_scan;
1310 u8 *mac_addr_sched_scan;
1311 u8 *mac_addr_pno;
1314 u8 wnm_dialog_token;
1315 u8 wnm_reply;
1316 u8 wnm_num_neighbor_report;
1317 u8 wnm_mode;
1318 bool wnm_link_removal;
1319 u8 wnm_dissoc_addr[ETH_ALEN];
1320 u16 wnm_dissoc_timer;
1321 u8 wnm_bss_termination_duration[12];
1322 struct neighbor_report *wnm_neighbor_report_elements;
1323 struct os_reltime wnm_cand_valid_until;
1324 struct wpa_bss *wnm_target_bss;
1325 enum bss_trans_mgmt_status_code bss_tm_status;
1326 bool bss_trans_mgmt_in_progress;
1327 u8 coloc_intf_dialog_token;
1351 enum wpa_supplicant_test_failure test_failure; argument
1352 char *get_pref_freq_list_override;
1353 unsigned int reject_btm_req_reason;
1354 unsigned int p2p_go_csa_on_inv:1;
1355 unsigned int ignore_auth_resp:1;
1356 unsigned int ignore_assoc_disallow:1;
1357 unsigned int disable_sa_query:1;
1358 unsigned int testing_resend_assoc:1;
1359 unsigned int ignore_sae_h2e_only:1;
1360 int ft_rsnxe_used;
1361 struct wpabuf *sae_commit_override;
1362 enum wpa_alg last_tk_alg;
1363 u8 last_tk_addr[ETH_ALEN];
1364 int last_tk_key_idx;
1365 u8 last_tk[WPA_TK_MAX_LEN];
1366 size_t last_tk_len;
1367 struct wpabuf *last_assoc_req_wpa_ie;
1368 int *extra_sae_rejected_groups;
1369 struct wpabuf *rsne_override_eapol;
1370 struct wpabuf *rsnxe_override_assoc;
1371 struct wpabuf *rsnxe_override_eapol;
1372 struct dl_list drv_signal_override;
1373 unsigned int oci_freq_override_eapol;
1374 unsigned int oci_freq_override_saquery_req;
1375 unsigned int oci_freq_override_saquery_resp;
1376 unsigned int oci_freq_override_eapol_g2;
1377 unsigned int oci_freq_override_ft_assoc;
1378 unsigned int oci_freq_override_fils_assoc;
1379 unsigned int oci_freq_override_wnm_sleep;
1380 unsigned int disable_eapol_g2_tx;
1381 int test_assoc_comeback_type;
1384 struct wmm_ac_assoc_data *wmm_ac_assoc_info;
1385 struct wmm_tspec_element *tspecs[WMM_AC_NUM][TS_DIR_IDX_COUNT];
1386 struct wmm_ac_addts_request *addts_request;
1387 u8 wmm_ac_last_dialog_token;
1388 struct wmm_tspec_element *last_tspecs;
1389 u8 last_tspecs_count;
1391 struct rrm_data rrm;
1392 struct beacon_rep_data beacon_rep_data;
1395 struct fst_iface *fst;
1396 const struct wpabuf *fst_ies;
1397 struct wpabuf *received_mb_ies;
1402 struct wpa_mbo_non_pref_channel {
1407 } *non_pref_chan;
1408 size_t non_pref_chan_num;
1409 u8 mbo_wnm_token;
1417 u8 enable_oce;
1424 struct dl_list bss_tmp_disallowed;
1430 struct wpabuf *lci;
1431 struct os_reltime lci_time;
1433 struct os_reltime beacon_rep_scan;
1436 struct dl_list fils_hlp_req;
1438 struct sched_scan_relative_params {
1469 } srp;
1472 struct wpabuf *ric_ies;
1474 int last_auth_timeout_sec;
1477 struct dpp_global *dpp;
1478 struct dpp_authentication *dpp_auth;
1479 struct wpa_radio_work *dpp_listen_work;
1480 unsigned int dpp_pending_listen_freq;
1481 unsigned int dpp_listen_freq;
1482 struct os_reltime dpp_listen_end;
1483 u8 dpp_allowed_roles;
1484 int dpp_qr_mutual;
1485 int dpp_netrole;
1486 int dpp_auth_ok_on_ack;
1487 int dpp_in_response_listen;
1488 bool dpp_tx_auth_resp_on_roc_stop;
1489 bool dpp_tx_chan_change;
1490 bool dpp_listen_on_tx_expire;
1491 int dpp_gas_client;
1492 int dpp_gas_server;
1493 int dpp_gas_dialog_token;
1494 u8 dpp_intro_bssid[ETH_ALEN];
1495 void *dpp_intro_network;
1496 u8 dpp_intro_peer_version;
1497 struct dpp_pkex *dpp_pkex;
1498 struct dpp_bootstrap_info *dpp_pkex_bi;
1499 char *dpp_pkex_code;
1500 size_t dpp_pkex_code_len;
1501 char *dpp_pkex_identifier;
1502 enum dpp_pkex_ver dpp_pkex_ver;
1503 char *dpp_pkex_auth_cmd;
1504 char *dpp_configurator_params;
1505 struct os_reltime dpp_last_init;
1506 struct os_reltime dpp_init_iter_start;
1507 unsigned int dpp_init_max_tries;
1508 unsigned int dpp_init_retry_time;
1509 unsigned int dpp_resp_wait_time;
1510 unsigned int dpp_resp_max_tries;
1511 unsigned int dpp_resp_retry_time;
1512 u8 dpp_last_ssid[SSID_MAX_LEN];
1513 size_t dpp_last_ssid_len;
1514 bool dpp_conf_backup_received;
1515 bool dpp_pkex_wait_auth_req;
1517 struct dpp_pfs *dpp_pfs;
1518 int dpp_pfs_fallback;
1519 struct wpabuf *dpp_presence_announcement;
1520 struct dpp_bootstrap_info *dpp_chirp_bi;
1521 int dpp_chirp_freq;
1522 int *dpp_chirp_freqs;
1523 int dpp_chirp_iter;
1524 int dpp_chirp_round;
1525 int dpp_chirp_scan_done;
1526 int dpp_chirp_listen;
1527 struct wpa_ssid *dpp_reconfig_ssid;
1528 int dpp_reconfig_ssid_id;
1529 struct dpp_reconfig_id *dpp_reconfig_id;
1532 struct os_reltime dpp_pb_time;
1533 bool dpp_pb_configurator;
1534 int *dpp_pb_freqs;
1535 unsigned int dpp_pb_freq_idx;
1536 unsigned int dpp_pb_announce_count;
1537 struct wpabuf *dpp_pb_announcement;
1538 struct dpp_bootstrap_info *dpp_pb_bi;
1539 unsigned int dpp_pb_resp_freq;
1540 u8 dpp_pb_init_hash[SHA256_MAC_LEN];
1541 int dpp_pb_stop_iter;
1542 bool dpp_pb_discovery_done;
1543 u8 dpp_pb_c_nonce[DPP_MAX_NONCE_LEN];
1544 size_t dpp_pb_c_nonce_len;
1545 bool dpp_pb_result_indicated;
1546 struct os_reltime dpp_pb_announce_time;
1547 struct dpp_pb_info dpp_pb[DPP_PB_INFO_COUNT];
1548 u8 dpp_pb_resp_hash[SHA256_MAC_LEN];
1549 struct os_reltime dpp_pb_last_resp;
1550 char *dpp_pb_cmd;
1553 char *dpp_config_obj_override;
1554 char *dpp_discovery_override;
1555 char *dpp_groups_override;
1556 unsigned int dpp_ignore_netaccesskey_mismatch:1;
1557 unsigned int dpp_discard_public_action:1;
1562 unsigned int disable_fils:1;
1564 unsigned int ieee80211ac:1;
1565 unsigned int enabled_4addr_mode:1;
1566 unsigned int multi_bss_support:1;
1567 unsigned int drv_authorized_port:1;
1568 unsigned int multi_ap_ie:1;
1569 unsigned int multi_ap_backhaul:1;
1570 unsigned int multi_ap_fronthaul:1;
1573 struct robust_av_data robust_av;
1574 bool mscs_setup_done;
1575 struct scs_robust_av_data scs_robust_av_req;
1576 u8 scs_dialog_token;
1577 struct dl_list active_scs_ids;
1578 bool ongoing_scs_req;
1579 u8 dscp_req_dialog_token;
1580 u8 dscp_query_dialog_token;
1581 unsigned int enable_dscp_policy_capa:1;
1582 unsigned int connection_dscp:1;
1583 unsigned int wait_for_dscp_req:1;
1585 unsigned int disable_scs_support:1;
1586 unsigned int disable_mscs_support:1;
1590 bool wps_scan_done; /* Set upon receiving scan results event */
1591 bool supp_pbc_active; /* Set for interface when PBC is triggered */
1592 bool wps_overlap;
1595 struct pasn_data pasn;
1596 struct wpa_radio_work *pasn_auth_work;
1597 unsigned int pasn_count;
1598 struct pasn_auth *pasn_params;
1601 bool is_6ghz_enabled;
1602 bool crossed_6ghz_dom;
1603 bool last_scan_all_chan;
1604 bool last_scan_non_coloc_6ghz;
1605 bool support_6ghz;
1607 struct wpa_signal_info last_signal_info;
1632 /* wpa_supplicant.c */ argument