Lines Matching +full:ftm +full:- +full:timer
3 * Copyright (c) 2002-2024, Jouni Malinen <j@w1.fi>
44 os_reltime_sub(&now, &sta->sa_query_start, &passed); in hostapd_eid_assoc_comeback_time()
46 if (hapd->conf->assoc_sa_query_max_timeout > tu) in hostapd_eid_assoc_comeback_time()
47 timeout = hapd->conf->assoc_sa_query_max_timeout - tu; in hostapd_eid_assoc_comeback_time()
50 if (timeout < hapd->conf->assoc_sa_query_max_timeout) in hostapd_eid_assoc_comeback_time()
54 if (hapd->conf->test_assoc_comeback_type != -1) in hostapd_eid_assoc_comeback_time()
55 type = hapd->conf->test_assoc_comeback_type; in hostapd_eid_assoc_comeback_time()
61 /* MLME-SAQuery.request */
72 const u8 *own_addr = hapd->own_addr; in ieee802_11_send_sa_query_req()
80 if (sta && wpa_auth_uses_ocv(sta->wpa_sm)) { in ieee802_11_send_sa_query_req()
89 if (hapd->conf->oci_freq_override_saquery_req) { in ieee802_11_send_sa_query_req()
91 "TEST: Override OCI frequency %d -> %u MHz", in ieee802_11_send_sa_query_req()
93 hapd->conf->oci_freq_override_saquery_req); in ieee802_11_send_sa_query_req()
95 hapd->conf->oci_freq_override_saquery_req; in ieee802_11_send_sa_query_req()
124 own_addr = hapd->mld->mld_addr; in ieee802_11_send_sa_query_req()
127 mgmt->frame_control = IEEE80211_FC(WLAN_FC_TYPE_MGMT, in ieee802_11_send_sa_query_req()
129 os_memcpy(mgmt->da, addr, ETH_ALEN); in ieee802_11_send_sa_query_req()
130 os_memcpy(mgmt->sa, own_addr, ETH_ALEN); in ieee802_11_send_sa_query_req()
131 os_memcpy(mgmt->bssid, own_addr, ETH_ALEN); in ieee802_11_send_sa_query_req()
132 mgmt->u.action.category = WLAN_ACTION_SA_QUERY; in ieee802_11_send_sa_query_req()
133 mgmt->u.action.u.sa_query_req.action = WLAN_SA_QUERY_REQUEST; in ieee802_11_send_sa_query_req()
134 os_memcpy(mgmt->u.action.u.sa_query_req.trans_id, trans_id, in ieee802_11_send_sa_query_req()
136 end = mgmt->u.action.u.sa_query_req.variable; in ieee802_11_send_sa_query_req()
143 if (hostapd_drv_send_mlme(hapd, mgmt, end - (u8 *) mgmt, 0, NULL, 0, 0) in ieee802_11_send_sa_query_req()
160 const u8 *own_addr = hapd->own_addr; in ieee802_11_send_sa_query_resp()
168 if (sta == NULL || !(sta->flags & WLAN_STA_ASSOC)) { in ieee802_11_send_sa_query_resp()
175 if (wpa_auth_uses_ocv(sta->wpa_sm)) { in ieee802_11_send_sa_query_resp()
184 if (hapd->conf->oci_freq_override_saquery_resp) { in ieee802_11_send_sa_query_resp()
186 "TEST: Override OCI frequency %d -> %u MHz", in ieee802_11_send_sa_query_resp()
188 hapd->conf->oci_freq_override_saquery_resp); in ieee802_11_send_sa_query_resp()
190 hapd->conf->oci_freq_override_saquery_resp; in ieee802_11_send_sa_query_resp()
222 own_addr = hapd->mld->mld_addr; in ieee802_11_send_sa_query_resp()
225 resp->frame_control = IEEE80211_FC(WLAN_FC_TYPE_MGMT, in ieee802_11_send_sa_query_resp()
227 os_memcpy(resp->da, sa, ETH_ALEN); in ieee802_11_send_sa_query_resp()
228 os_memcpy(resp->sa, own_addr, ETH_ALEN); in ieee802_11_send_sa_query_resp()
229 os_memcpy(resp->bssid, own_addr, ETH_ALEN); in ieee802_11_send_sa_query_resp()
230 resp->u.action.category = WLAN_ACTION_SA_QUERY; in ieee802_11_send_sa_query_resp()
231 resp->u.action.u.sa_query_req.action = WLAN_SA_QUERY_RESPONSE; in ieee802_11_send_sa_query_resp()
232 os_memcpy(resp->u.action.u.sa_query_req.trans_id, trans_id, in ieee802_11_send_sa_query_resp()
234 end = resp->u.action.u.sa_query_req.variable; in ieee802_11_send_sa_query_resp()
241 if (hostapd_drv_send_mlme(hapd, resp, end - (u8 *) resp, 0, NULL, 0, 0) in ieee802_11_send_sa_query_resp()
256 const u8 *sa = mgmt->sa; in ieee802_11_sa_query_action()
257 const u8 action_type = mgmt->u.action.u.sa_query_resp.action; in ieee802_11_sa_query_action()
258 const u8 *trans_id = mgmt->u.action.u.sa_query_resp.trans_id; in ieee802_11_sa_query_action()
261 mgmt->u.action.u.sa_query_resp.variable) { in ieee802_11_sa_query_action()
267 if (is_multicast_ether_addr(mgmt->da)) { in ieee802_11_sa_query_action()
269 "IEEE 802.11: Ignore group-addressed SA Query frame (A1=" MACSTR " A2=" MACSTR ")", in ieee802_11_sa_query_action()
270 MAC2STR(mgmt->da), MAC2STR(mgmt->sa)); in ieee802_11_sa_query_action()
277 if (sta && wpa_auth_uses_ocv(sta->wpa_sm)) { in ieee802_11_sa_query_action()
285 ies = mgmt->u.action.u.sa_query_resp.variable; in ieee802_11_sa_query_action()
286 ies_len = len - (ies - (u8 *) mgmt); in ieee802_11_sa_query_action()
300 if (get_sta_tx_parameters(sta->wpa_sm, in ieee802_11_sa_query_action()
309 wpa_msg(hapd->msg_ctx, MSG_INFO, OCV_FAILURE "addr=" in ieee802_11_sa_query_action()
321 sta->post_csa_sa_query = 0; in ieee802_11_sa_query_action()
337 /* MLME-SAQuery.confirm */ in ieee802_11_sa_query_action()
339 if (sta == NULL || sta->sa_query_trans_id == NULL) { in ieee802_11_sa_query_action()
345 for (i = 0; i < sta->sa_query_count; i++) { in ieee802_11_sa_query_action()
346 if (os_memcmp(sta->sa_query_trans_id + in ieee802_11_sa_query_action()
352 if (i >= sta->sa_query_count) { in ieee802_11_sa_query_action()
358 hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, in ieee802_11_sa_query_action()
371 case 0: /* Bits 0-7 */ in hostapd_ext_capab_byte()
372 if (hapd->iconf->obss_interval) in hostapd_ext_capab_byte()
373 *pos |= 0x01; /* Bit 0 - Coexistence management */ in hostapd_ext_capab_byte()
374 if (hapd->iface->drv_flags & WPA_DRIVER_FLAGS_AP_CSA) in hostapd_ext_capab_byte()
375 *pos |= 0x04; /* Bit 2 - Extended Channel Switching */ in hostapd_ext_capab_byte()
377 case 1: /* Bits 8-15 */ in hostapd_ext_capab_byte()
378 if (hapd->conf->proxy_arp) in hostapd_ext_capab_byte()
379 *pos |= 0x10; /* Bit 12 - Proxy ARP */ in hostapd_ext_capab_byte()
380 if (hapd->conf->coloc_intf_reporting) { in hostapd_ext_capab_byte()
381 /* Bit 13 - Collocated Interference Reporting */ in hostapd_ext_capab_byte()
385 case 2: /* Bits 16-23 */ in hostapd_ext_capab_byte()
386 if (hapd->conf->wnm_sleep_mode) in hostapd_ext_capab_byte()
387 *pos |= 0x02; /* Bit 17 - WNM-Sleep Mode */ in hostapd_ext_capab_byte()
388 if (hapd->conf->bss_transition) in hostapd_ext_capab_byte()
389 *pos |= 0x08; /* Bit 19 - BSS Transition */ in hostapd_ext_capab_byte()
390 if (hapd->iconf->mbssid) in hostapd_ext_capab_byte()
391 *pos |= 0x40; /* Bit 22 - Multiple BSSID */ in hostapd_ext_capab_byte()
393 case 3: /* Bits 24-31 */ in hostapd_ext_capab_byte()
395 *pos |= 0x02; /* Bit 25 - SSID List */ in hostapd_ext_capab_byte()
397 if (hapd->conf->time_advertisement == 2) in hostapd_ext_capab_byte()
398 *pos |= 0x08; /* Bit 27 - UTC TSF Offset */ in hostapd_ext_capab_byte()
399 if (hapd->conf->interworking) in hostapd_ext_capab_byte()
400 *pos |= 0x80; /* Bit 31 - Interworking */ in hostapd_ext_capab_byte()
402 case 4: /* Bits 32-39 */ in hostapd_ext_capab_byte()
403 if (hapd->conf->qos_map_set_len) in hostapd_ext_capab_byte()
404 *pos |= 0x01; /* Bit 32 - QoS Map */ in hostapd_ext_capab_byte()
405 if (hapd->conf->tdls & TDLS_PROHIBIT) in hostapd_ext_capab_byte()
406 *pos |= 0x40; /* Bit 38 - TDLS Prohibited */ in hostapd_ext_capab_byte()
407 if (hapd->conf->tdls & TDLS_PROHIBIT_CHAN_SWITCH) { in hostapd_ext_capab_byte()
408 /* Bit 39 - TDLS Channel Switching Prohibited */ in hostapd_ext_capab_byte()
412 case 5: /* Bits 40-47 */ in hostapd_ext_capab_byte()
414 if (hapd->conf->hs20) in hostapd_ext_capab_byte()
415 *pos |= 0x40; /* Bit 46 - WNM-Notification */ in hostapd_ext_capab_byte()
418 if (hapd->conf->mbo_enabled) in hostapd_ext_capab_byte()
419 *pos |= 0x40; /* Bit 46 - WNM-Notification */ in hostapd_ext_capab_byte()
422 case 6: /* Bits 48-55 */ in hostapd_ext_capab_byte()
423 if (hapd->conf->ssid.utf8_ssid) in hostapd_ext_capab_byte()
424 *pos |= 0x01; /* Bit 48 - UTF-8 SSID */ in hostapd_ext_capab_byte()
426 case 7: /* Bits 56-63 */ in hostapd_ext_capab_byte()
428 case 8: /* Bits 64-71 */ in hostapd_ext_capab_byte()
429 if (hapd->conf->ftm_responder) in hostapd_ext_capab_byte()
430 *pos |= 0x40; /* Bit 70 - FTM responder */ in hostapd_ext_capab_byte()
431 if (hapd->conf->ftm_initiator) in hostapd_ext_capab_byte()
432 *pos |= 0x80; /* Bit 71 - FTM initiator */ in hostapd_ext_capab_byte()
434 case 9: /* Bits 72-79 */ in hostapd_ext_capab_byte()
436 if ((hapd->conf->wpa & WPA_PROTO_RSN) && in hostapd_ext_capab_byte()
437 wpa_key_mgmt_fils(hapd->conf->wpa_key_mgmt)) in hostapd_ext_capab_byte()
442 *pos |= 0x40; /* Bit 78 - TWT responder */ in hostapd_ext_capab_byte()
445 *pos |= 0x40; /* Bit 78 - TWT responder */ in hostapd_ext_capab_byte()
447 case 10: /* Bits 80-87 */ in hostapd_ext_capab_byte()
449 if (hapd->conf->wpa && in hostapd_ext_capab_byte()
450 wpa_key_mgmt_sae(hapd->conf->wpa_key_mgmt)) { in hostapd_ext_capab_byte()
451 int in_use = hostapd_sae_pw_id_in_use(hapd->conf); in hostapd_ext_capab_byte()
454 *pos |= 0x02; /* Bit 81 - SAE Password in hostapd_ext_capab_byte()
457 *pos |= 0x04; /* Bit 82 - SAE Password in hostapd_ext_capab_byte()
461 if (hapd->conf->beacon_prot && in hostapd_ext_capab_byte()
462 (hapd->iface->drv_flags & in hostapd_ext_capab_byte()
464 *pos |= 0x10; /* Bit 84 - Beacon Protection Enabled */ in hostapd_ext_capab_byte()
465 if (hapd->iconf->mbssid == ENHANCED_MBSSID_ENABLED) in hostapd_ext_capab_byte()
466 *pos |= 0x08; /* Bit 83 - Enhanced multiple BSSID */ in hostapd_ext_capab_byte()
468 *pos |= 0x01; /* Bit 80 - Complete List of NonTxBSSID in hostapd_ext_capab_byte()
471 case 11: /* Bits 88-95 */ in hostapd_ext_capab_byte()
473 if (hapd->conf->wpa && in hostapd_ext_capab_byte()
474 wpa_key_mgmt_sae(hapd->conf->wpa_key_mgmt) && in hostapd_ext_capab_byte()
475 hostapd_sae_pk_exclusively(hapd->conf)) in hostapd_ext_capab_byte()
476 *pos |= 0x01; /* Bit 88 - SAE PK Exclusively */ in hostapd_ext_capab_byte()
489 if (len < hapd->iface->extended_capa_len) in hostapd_eid_ext_capab()
490 len = hapd->iface->extended_capa_len; in hostapd_eid_ext_capab()
497 if (i < hapd->iface->extended_capa_len) { in hostapd_eid_ext_capab()
498 *pos &= ~hapd->iface->extended_capa_mask[i]; in hostapd_eid_ext_capab()
499 *pos |= hapd->iface->extended_capa[i]; in hostapd_eid_ext_capab()
503 *pos &= ~hapd->conf->ext_capa_mask[i]; in hostapd_eid_ext_capab()
504 *pos |= hapd->conf->ext_capa[i]; in hostapd_eid_ext_capab()
509 if (i == 10 && hapd->iconf->mbssid < ENHANCED_MBSSID_ENABLED) in hostapd_eid_ext_capab()
511 if (i == 2 && !hapd->iconf->mbssid) in hostapd_eid_ext_capab()
516 len--; in hostapd_eid_ext_capab()
529 u8 len = hapd->conf->qos_map_set_len; in hostapd_eid_qos_map_set()
536 os_memcpy(pos, hapd->conf->qos_map_set, len); in hostapd_eid_qos_map_set()
549 if (!hapd->conf->interworking) in hostapd_eid_interworking()
555 *pos = hapd->conf->access_network_type; in hostapd_eid_interworking()
556 if (hapd->conf->internet) in hostapd_eid_interworking()
558 if (hapd->conf->asra) in hostapd_eid_interworking()
560 if (hapd->conf->esr) in hostapd_eid_interworking()
562 if (hapd->conf->uesa) in hostapd_eid_interworking()
566 if (hapd->conf->venue_info_set) { in hostapd_eid_interworking()
567 *pos++ = hapd->conf->venue_group; in hostapd_eid_interworking()
568 *pos++ = hapd->conf->venue_type; in hostapd_eid_interworking()
571 if (!is_zero_ether_addr(hapd->conf->hessid)) { in hostapd_eid_interworking()
572 os_memcpy(pos, hapd->conf->hessid, ETH_ALEN); in hostapd_eid_interworking()
576 *len = pos - len - 1; in hostapd_eid_interworking()
589 if (!hapd->conf->interworking) in hostapd_eid_adv_proto()
594 *pos++ = 0x7F; /* Query Response Length Limit | PAME-BI */ in hostapd_eid_adv_proto()
609 if (!hapd->conf->interworking || in hostapd_eid_roaming_consortium()
610 hapd->conf->roaming_consortium == NULL || in hostapd_eid_roaming_consortium()
611 hapd->conf->roaming_consortium_count == 0) in hostapd_eid_roaming_consortium()
618 if (hapd->conf->roaming_consortium_count > 3 + 255) in hostapd_eid_roaming_consortium()
620 else if (hapd->conf->roaming_consortium_count > 3) in hostapd_eid_roaming_consortium()
621 *pos++ = hapd->conf->roaming_consortium_count - 3; in hostapd_eid_roaming_consortium()
626 *pos = hapd->conf->roaming_consortium[0].len; in hostapd_eid_roaming_consortium()
627 if (hapd->conf->roaming_consortium_count > 1) in hostapd_eid_roaming_consortium()
628 *pos |= hapd->conf->roaming_consortium[1].len << 4; in hostapd_eid_roaming_consortium()
631 if (hapd->conf->roaming_consortium_count > 3) in hostapd_eid_roaming_consortium()
634 count = hapd->conf->roaming_consortium_count; in hostapd_eid_roaming_consortium()
637 os_memcpy(pos, hapd->conf->roaming_consortium[i].oi, in hostapd_eid_roaming_consortium()
638 hapd->conf->roaming_consortium[i].len); in hostapd_eid_roaming_consortium()
639 pos += hapd->conf->roaming_consortium[i].len; in hostapd_eid_roaming_consortium()
642 *len = pos - len - 1; in hostapd_eid_roaming_consortium()
651 if (hapd->conf->time_advertisement != 2) in hostapd_eid_time_adv()
654 if (hapd->time_adv == NULL && in hostapd_eid_time_adv()
658 if (hapd->time_adv == NULL) in hostapd_eid_time_adv()
661 os_memcpy(eid, wpabuf_head(hapd->time_adv), in hostapd_eid_time_adv()
662 wpabuf_len(hapd->time_adv)); in hostapd_eid_time_adv()
663 eid += wpabuf_len(hapd->time_adv); in hostapd_eid_time_adv()
673 if (hapd->conf->time_advertisement != 2 || !hapd->conf->time_zone) in hostapd_eid_time_zone()
676 len = os_strlen(hapd->conf->time_zone); in hostapd_eid_time_zone()
680 os_memcpy(eid, hapd->conf->time_zone, len); in hostapd_eid_time_zone()
694 if (hapd->conf->time_advertisement != 2) in hostapd_update_time_adv()
698 return -1; in hostapd_update_time_adv()
700 if (!hapd->time_adv) { in hostapd_update_time_adv()
701 hapd->time_adv = wpabuf_alloc(elen); in hostapd_update_time_adv()
702 if (hapd->time_adv == NULL) in hostapd_update_time_adv()
703 return -1; in hostapd_update_time_adv()
704 pos = wpabuf_put(hapd->time_adv, elen); in hostapd_update_time_adv()
706 pos = wpabuf_mhead_u8(hapd->time_adv); in hostapd_update_time_adv()
711 *pos++ = 2; /* UTC time at which the TSF timer is 0 */ in hostapd_update_time_adv()
734 *pos++ = hapd->time_update_counter++; in hostapd_update_time_adv()
746 if (hapd->conf->ap_max_inactivity > 0 && in hostapd_eid_bss_max_idle_period()
747 hapd->conf->bss_max_idle) { in hostapd_eid_bss_max_idle_period()
751 val = hapd->conf->ap_max_inactivity; in hostapd_eid_bss_max_idle_period()
764 /* Set the Protected Keep-Alive Required bit based on in hostapd_eid_bss_max_idle_period()
766 *pos++ = hapd->conf->bss_max_idle == 2 ? BIT(0) : 0x00; in hostapd_eid_bss_max_idle_period()
786 mbo[3] = hapd->iconf->rssi_reject_assoc_timeout; in hostapd_eid_mbo_rssi_assoc_rej()
797 if (!hapd->conf->mbo_enabled && in hostapd_eid_mbo()
801 if (hapd->conf->mbo_enabled) { in hostapd_eid_mbo()
808 if (hapd->conf->mbo_enabled && hapd->mbo_assoc_disallow) { in hostapd_eid_mbo()
811 *mbo_pos++ = hapd->mbo_assoc_disallow; in hostapd_eid_mbo()
826 pos += mbo_add_ie(pos, len, mbo, mbo_pos - mbo); in hostapd_eid_mbo()
836 if (!hapd->conf->mbo_enabled && in hostapd_mbo_ie_len()
845 if (hapd->conf->mbo_enabled) in hostapd_mbo_ie_len()
846 len += 3 + (hapd->mbo_assoc_disallow ? 3 : 0); in hostapd_mbo_ie_len()
861 return hapd->conf->owe_transition_ssid_len > 0 && in hostapd_eid_owe_trans_enabled()
862 !is_zero_ether_addr(hapd->conf->owe_transition_bssid); in hostapd_eid_owe_trans_enabled()
872 return 6 + ETH_ALEN + 1 + hapd->conf->owe_transition_ssid_len; in hostapd_eid_owe_trans_len()
886 if (hapd->conf->owe_transition_ifname[0] && in hostapd_eid_owe_trans()
901 *pos++ = elen - 2; in hostapd_eid_owe_trans()
905 os_memcpy(pos, hapd->conf->owe_transition_bssid, ETH_ALEN); in hostapd_eid_owe_trans()
907 *pos++ = hapd->conf->owe_transition_ssid_len; in hostapd_eid_owe_trans()
908 os_memcpy(pos, hapd->conf->owe_transition_ssid, in hostapd_eid_owe_trans()
909 hapd->conf->owe_transition_ssid_len); in hostapd_eid_owe_trans()
910 pos += hapd->conf->owe_transition_ssid_len; in hostapd_eid_owe_trans()
954 os_free(sta->supp_op_classes); in ap_copy_sta_supp_op_classes()
955 sta->supp_op_classes = os_malloc(1 + supp_op_classes_len); in ap_copy_sta_supp_op_classes()
956 if (!sta->supp_op_classes) in ap_copy_sta_supp_op_classes()
959 sta->supp_op_classes[0] = supp_op_classes_len; in ap_copy_sta_supp_op_classes()
960 os_memcpy(sta->supp_op_classes + 1, supp_op_classes, in ap_copy_sta_supp_op_classes()
974 if (!(hapd->conf->wpa & WPA_PROTO_RSN) || in hostapd_eid_fils_indic()
975 !wpa_key_mgmt_fils(hapd->conf->wpa_key_mgmt)) in hostapd_eid_fils_indic()
978 realms = dl_list_len(&hapd->conf->fils_realms); in hostapd_eid_fils_indic()
985 if (hapd->conf->erp_domain) { in hostapd_eid_fils_indic()
990 if (hapd->conf->fils_cache_id_set) in hostapd_eid_fils_indic()
992 if (hessid && !is_zero_ether_addr(hapd->conf->hessid)) in hostapd_eid_fils_indic()
996 if (hapd->conf->fils_dh_group) { in hostapd_eid_fils_indic()
1004 if (hapd->conf->fils_cache_id_set) { in hostapd_eid_fils_indic()
1005 os_memcpy(pos, hapd->conf->fils_cache_id, FILS_CACHE_ID_LEN); in hostapd_eid_fils_indic()
1008 if (hessid && !is_zero_ether_addr(hapd->conf->hessid)) { in hostapd_eid_fils_indic()
1009 os_memcpy(pos, hapd->conf->hessid, ETH_ALEN); in hostapd_eid_fils_indic()
1013 dl_list_for_each(realm, &hapd->conf->fils_realms, struct fils_realm, in hostapd_eid_fils_indic()
1017 realms--; in hostapd_eid_fils_indic()
1018 os_memcpy(pos, realm->hash, 2); in hostapd_eid_fils_indic()
1021 *len = pos - len - 1; in hostapd_eid_fils_indic()
1036 if (sta->ht_capabilities) in get_tx_parameters()
1037 ht_40mhz = !!(sta->ht_capabilities->ht_capabilities_info & in get_tx_parameters()
1040 if (sta->vht_operation) { in get_tx_parameters()
1041 struct ieee80211_vht_operation *oper = sta->vht_operation; in get_tx_parameters()
1047 if (oper->vht_op_info_chwidth == CHANWIDTH_USE_HT) { in get_tx_parameters()
1049 } else if (oper->vht_op_info_chan_center_freq_seg1_idx == 0) { in get_tx_parameters()
1056 oper->vht_op_info_chan_center_freq_seg0_idx - in get_tx_parameters()
1058 oper->vht_op_info_chan_center_freq_seg1_idx); in get_tx_parameters()
1059 vht_80p80 = oper->vht_op_info_chan_center_freq_seg1_idx in get_tx_parameters()
1062 } else if (sta->vht_capabilities) { in get_tx_parameters()
1066 capab = sta->vht_capabilities; in get_tx_parameters()
1073 vht_chanwidth = capab->vht_capabilities_info & in get_tx_parameters()
1075 vht_80p80 = capab->vht_capabilities_info & in get_tx_parameters()
1103 if (!(hapd->conf->wpa & WPA_PROTO_RSN)) in hostapd_eid_rsnxe()
1107 sae_pk = hostapd_sae_pk_in_use(hapd->conf); in hostapd_eid_rsnxe()
1110 if (wpa_key_mgmt_sae(hapd->conf->wpa_key_mgmt) && in hostapd_eid_rsnxe()
1111 (hapd->conf->sae_pwe == SAE_PWE_HASH_TO_ELEMENT || in hostapd_eid_rsnxe()
1112 hapd->conf->sae_pwe == SAE_PWE_BOTH || in hostapd_eid_rsnxe()
1113 hostapd_sae_pw_id_in_use(hapd->conf) || sae_pk || in hostapd_eid_rsnxe()
1114 wpa_key_mgmt_sae_ext_key(hapd->conf->wpa_key_mgmt)) && in hostapd_eid_rsnxe()
1115 hapd->conf->sae_pwe != SAE_PWE_FORCE_HUNT_AND_PECK) { in hostapd_eid_rsnxe()
1123 if (hapd->iface->drv_flags2 & WPA_DRIVER_FLAGS2_SEC_LTF_AP) in hostapd_eid_rsnxe()
1125 if (hapd->iface->drv_flags2 & WPA_DRIVER_FLAGS2_SEC_RTT_AP) in hostapd_eid_rsnxe()
1127 if (hapd->iface->drv_flags2 & WPA_DRIVER_FLAGS2_PROT_RANGE_NEG_AP) in hostapd_eid_rsnxe()
1129 if (hapd->conf->ssid_protection) in hostapd_eid_rsnxe()
1143 capab |= flen - 1; /* bit 0-3 = Field length (n - 1) */ in hostapd_eid_rsnxe()
1162 sta->qos_map_enabled = 1; in check_ext_capab()
1166 sta->ecsa_supported = !!(ext_capab_ie[0] & BIT(2)); in check_ext_capab()
1167 os_free(sta->ext_capability); in check_ext_capab()
1168 sta->ext_capability = os_malloc(1 + ext_capab_ie_len); in check_ext_capab()
1169 if (sta->ext_capability) { in check_ext_capab()
1170 sta->ext_capability[0] = ext_capab_ie_len; in check_ext_capab()
1171 os_memcpy(sta->ext_capability + 1, ext_capab_ie, in check_ext_capab()
1194 if (sta->mld_assoc_link_id == hapd->mld_link_id) in hostapd_ml_get_assoc_sta()
1197 other_hapd = hostapd_mld_get_link_bss(hapd, sta->mld_assoc_link_id); in hostapd_ml_get_assoc_sta()
1200 sta->mld_assoc_link_id); in hostapd_ml_get_assoc_sta()
1208 for (tmp_sta = other_hapd->sta_list; tmp_sta; tmp_sta = tmp_sta->next) { in hostapd_ml_get_assoc_sta()
1209 if (tmp_sta->mld_assoc_link_id == sta->mld_assoc_link_id && in hostapd_ml_get_assoc_sta()
1210 tmp_sta->aid == sta->aid) { in hostapd_ml_get_assoc_sta()
1223 return hapd->iconf->ht_vht_twt_responder && in hostapd_get_ht_vht_twt_responder()
1224 ((hapd->iconf->ieee80211n && !hapd->conf->disable_11n) || in hostapd_get_ht_vht_twt_responder()
1225 (hapd->iconf->ieee80211ac && !hapd->conf->disable_11ac)) && in hostapd_get_ht_vht_twt_responder()
1226 (hapd->iface->drv_flags2 & in hostapd_get_ht_vht_twt_responder()