Lines Matching refs:elems
1824 struct ieee802_11_elems elems; in handle_auth_fils() local
1911 if (ieee802_11_parse_elems(pos, end - pos, &elems, 1) == ParseFailed) { in handle_auth_fils()
1919 elems.rsn_ie, elems.rsn_ie_len); in handle_auth_fils()
1920 if (!elems.rsn_ie || in handle_auth_fils()
1921 wpa_parse_wpa_ie_rsn(elems.rsn_ie - 2, elems.rsn_ie_len + 2, in handle_auth_fils()
1940 elems.rsn_ie - 2, elems.rsn_ie_len + 2, in handle_auth_fils()
1941 elems.rsnxe ? elems.rsnxe - 2 : NULL, in handle_auth_fils()
1942 elems.rsnxe ? elems.rsnxe_len + 2 : 0, in handle_auth_fils()
1943 elems.mdie, elems.mdie_len, NULL, 0, NULL); in handle_auth_fils()
1948 if (!elems.fils_nonce) { in handle_auth_fils()
1953 wpa_hexdump(MSG_DEBUG, "FILS: SNonce", elems.fils_nonce, in handle_auth_fils()
1955 os_memcpy(sta->fils_snonce, elems.fils_nonce, FILS_NONCE_LEN); in handle_auth_fils()
1992 if (!elems.fils_session) { in handle_auth_fils()
1997 wpa_hexdump(MSG_DEBUG, "FILS: FILS Session", elems.fils_session, in handle_auth_fils()
1999 os_memcpy(sta->fils_session, elems.fils_session, FILS_SESSION_LEN); in handle_auth_fils()
2002 if (elems.wrapped_data) { in handle_auth_fils()
2004 elems.wrapped_data, in handle_auth_fils()
2005 elems.wrapped_data_len); in handle_auth_fils()
2015 hapd, sta, elems.wrapped_data, in handle_auth_fils()
2016 elems.wrapped_data_len); in handle_auth_fils()
2025 elems.wrapped_data, in handle_auth_fils()
2026 elems.wrapped_data_len, in handle_auth_fils()
2510 struct ieee802_11_elems elems; in pasn_wd_handle_fils()
2554 if (ieee802_11_parse_elems(data, buf_len, &elems, 1) == ParseFailed) { in pasn_wd_handle_fils()
2559 if (!elems.rsn_ie || !elems.fils_nonce || !elems.fils_nonce || in pasn_wd_handle_fils()
2560 !elems.wrapped_data || !elems.fils_session) { in pasn_wd_handle_fils()
2565 ret = wpa_parse_wpa_ie_rsn(elems.rsn_ie - 2, elems.rsn_ie_len + 2, in pasn_wd_handle_fils()
2584 wpa_hexdump(MSG_DEBUG, "PASN: FILS: Nonce", elems.fils_nonce, in pasn_wd_handle_fils()
2586 os_memcpy(fils->nonce, elems.fils_nonce, FILS_NONCE_LEN); in pasn_wd_handle_fils()
2588 wpa_hexdump(MSG_DEBUG, "PASN: FILS: Session", elems.fils_session, in pasn_wd_handle_fils()
2590 os_memcpy(fils->session, elems.fils_session, FILS_SESSION_LEN); in pasn_wd_handle_fils()
2592 fils_wd = ieee802_11_defrag(elems.wrapped_data, elems.wrapped_data_len, in pasn_wd_handle_fils()
2713 struct ieee802_11_elems elems; in hapd_pasn_update_params() local
2724 &elems, 0) == ParseFailed) { in hapd_pasn_update_params()
2730 if (!elems.rsn_ie || in hapd_pasn_update_params()
2731 wpa_parse_wpa_ie_rsn(elems.rsn_ie - 2, elems.rsn_ie_len + 2, in hapd_pasn_update_params()
2747 !ieee802_11_rsnx_capab_len(elems.rsnxe, elems.rsnxe_len, in hapd_pasn_update_params()
2770 if (!elems.pasn_params || in hapd_pasn_update_params()
2771 wpa_pasn_parse_parameter_ie(elems.pasn_params - 3, in hapd_pasn_update_params()
2772 elems.pasn_params_len + 3, in hapd_pasn_update_params()
2779 wrapped_data = ieee802_11_defrag(elems.wrapped_data, in hapd_pasn_update_params()
2780 elems.wrapped_data_len, true); in hapd_pasn_update_params()
3554 struct ieee802_11_elems *elems) in copy_supp_rates() argument
3561 if (!elems->supp_rates) { in copy_supp_rates()
3568 if (elems->supp_rates_len + elems->ext_supp_rates_len > in copy_supp_rates()
3573 elems->supp_rates_len, in copy_supp_rates()
3574 elems->ext_supp_rates_len); in copy_supp_rates()
3580 elems->supp_rates, elems->supp_rates_len, in copy_supp_rates()
3581 elems->ext_supp_rates, elems->ext_supp_rates_len); in copy_supp_rates()
3921 struct ieee802_11_elems *elems, int reassoc, in __check_assoc_ies() argument
3931 resp = check_ssid(hapd, sta, elems->ssid, elems->ssid_len); in __check_assoc_ies()
3934 resp = check_wmm(hapd, sta, elems->wmm, elems->wmm_len); in __check_assoc_ies()
3937 resp = check_ext_capab(hapd, sta, elems->ext_capab, in __check_assoc_ies()
3938 elems->ext_capab_len); in __check_assoc_ies()
3941 resp = copy_supp_rates(hapd, sta, elems); in __check_assoc_ies()
3945 resp = check_multi_ap(hapd, sta, elems->multi_ap, elems->multi_ap_len); in __check_assoc_ies()
3949 resp = copy_sta_ht_capab(hapd, sta, elems->ht_capabilities); in __check_assoc_ies()
3962 resp = copy_sta_vht_capab(hapd, sta, elems->vht_capabilities); in __check_assoc_ies()
3966 resp = set_sta_vht_opmode(hapd, sta, elems->opmode_notif); in __check_assoc_ies()
3979 if (hapd->conf->vendor_vht && !elems->vht_capabilities) { in __check_assoc_ies()
3980 resp = copy_sta_vendor_vht(hapd, sta, elems->vendor_vht, in __check_assoc_ies()
3981 elems->vendor_vht_len); in __check_assoc_ies()
3989 elems->he_capabilities, in __check_assoc_ies()
3990 elems->he_capabilities_len); in __check_assoc_ies()
4011 elems->he_6ghz_band_cap); in __check_assoc_ies()
4020 elems->he_capabilities, in __check_assoc_ies()
4021 elems->he_capabilities_len, in __check_assoc_ies()
4022 elems->eht_capabilities, in __check_assoc_ies()
4023 elems->eht_capabilities_len); in __check_assoc_ies()
4028 resp = hostapd_process_ml_assoc_req(hapd, elems, sta); in __check_assoc_ies()
4036 if (elems->p2p && ies && ies_len) { in __check_assoc_ies()
4048 if ((hapd->conf->wpa & WPA_PROTO_RSN) && elems->rsn_ie) { in __check_assoc_ies()
4049 wpa_ie = elems->rsn_ie; in __check_assoc_ies()
4050 wpa_ie_len = elems->rsn_ie_len; in __check_assoc_ies()
4052 elems->wpa_ie) { in __check_assoc_ies()
4053 wpa_ie = elems->wpa_ie; in __check_assoc_ies()
4054 wpa_ie_len = elems->wpa_ie_len; in __check_assoc_ies()
4062 if (hapd->conf->wps_state && elems->wps_ie && ies && ies_len) { in __check_assoc_ies()
4134 elems->rsnxe ? elems->rsnxe - 2 : in __check_assoc_ies()
4136 elems->rsnxe ? elems->rsnxe_len + 2 : in __check_assoc_ies()
4138 elems->mdie, elems->mdie_len, in __check_assoc_ies()
4139 elems->owe_dh, elems->owe_dh_len, in __check_assoc_ies()
4199 ieee802_11_rsnx_capab_len(elems->rsnxe, elems->rsnxe_len, in __check_assoc_ies()
4211 elems->owe_dh) { in __check_assoc_ies()
4212 resp = owe_process_assoc_req(hapd, sta, elems->owe_dh, in __check_assoc_ies()
4213 elems->owe_dh_len); in __check_assoc_ies()
4228 elems->owe_dh) { in __check_assoc_ies()
4239 if (dpp_pfs_process(sta->dpp_pfs, elems->owe_dh, in __check_assoc_ies()
4240 elems->owe_dh_len) < 0) { in __check_assoc_ies()
4266 elems->rsnxe, elems->rsnxe_len, in __check_assoc_ies()
4270 if (!elems->osen) { in __check_assoc_ies()
4288 elems->osen - 2, elems->osen_len + 2) < 0) in __check_assoc_ies()
4300 if (elems->hs20 && elems->hs20_len > 4) { in __check_assoc_ies()
4303 sta->hs20_ie = wpabuf_alloc_copy(elems->hs20 + 4, in __check_assoc_ies()
4304 elems->hs20_len - 4); in __check_assoc_ies()
4305 release = ((elems->hs20[4] >> 4) & 0x0f) + 1; in __check_assoc_ies()
4318 if (elems->roaming_cons_sel) in __check_assoc_ies()
4320 elems->roaming_cons_sel + 4, in __check_assoc_ies()
4321 elems->roaming_cons_sel_len - 4); in __check_assoc_ies()
4329 sta->mb_ies = mb_ies_by_info(&elems->mb_ies); in __check_assoc_ies()
4335 mbo_ap_check_sta_assoc(hapd, sta, elems); in __check_assoc_ies()
4338 elems->mbo && sta->cell_capa && !(sta->flags & WLAN_STA_MFP) && in __check_assoc_ies()
4368 res = ocv_verify_tx_params(elems->oci, elems->oci_len, &ci, in __check_assoc_ies()
4387 ap_copy_sta_supp_op_classes(sta, elems->supp_op_classes, in __check_assoc_ies()
4388 elems->supp_op_classes_len); in __check_assoc_ies()
4391 elems->rrm_enabled && in __check_assoc_ies()
4392 elems->rrm_enabled_len >= sizeof(sta->rrm_enabled_capa)) in __check_assoc_ies()
4393 os_memcpy(sta->rrm_enabled_capa, elems->rrm_enabled, in __check_assoc_ies()
4396 if (elems->power_capab) { in __check_assoc_ies()
4397 sta->min_tx_power = elems->power_capab[0]; in __check_assoc_ies()
4398 sta->max_tx_power = elems->power_capab[1]; in __check_assoc_ies()
4404 if (elems->bss_max_idle_period && in __check_assoc_ies()
4408 req = WPA_GET_LE16(elems->bss_max_idle_period); in __check_assoc_ies()
4424 struct ieee802_11_elems elems; in check_assoc_ies() local
4426 if (ieee802_11_parse_elems(ies, ies_len, &elems, 1) == ParseFailed) { in check_assoc_ies()
4433 return __check_assoc_ies(hapd, sta, ies, ies_len, &elems, reassoc, in check_assoc_ies()
4507 struct ieee802_11_elems elems; in ieee80211_ml_process_link() local
4516 if (ieee802_11_parse_elems(ies, ies_len, &elems, 1) == ParseFailed) { in ieee80211_ml_process_link()
4537 mlbuf = ieee802_11_defrag(elems.basic_mle, elems.basic_mle_len, true); in ieee80211_ml_process_link()
4541 if (ieee802_11_parse_link_assoc_req(ies, ies_len, &elems, mlbuf, in ieee80211_ml_process_link()
4553 status = __check_assoc_ies(hapd, sta, NULL, 0, &elems, reassoc, true); in ieee80211_ml_process_link()
5136 struct ieee802_11_elems elems; in send_assoc_resp() local
5138 if (ieee802_11_parse_elems(ies, ies_len, &elems, 0) == in send_assoc_resp()
5139 ParseFailed || !elems.fils_session) { in send_assoc_resp()
5148 os_memcpy(p, elems.fils_session, FILS_SESSION_LEN); in send_assoc_resp()
5290 struct ieee802_11_elems elems; in handle_mlo_translate() local
5305 if (ieee802_11_parse_elems(pos, len, &elems, 1) == ParseFailed) in handle_mlo_translate()
5308 if (hostapd_process_ml_assoc_req_addr(hapd, elems.basic_mle, in handle_mlo_translate()
5309 elems.basic_mle_len, in handle_mlo_translate()
5956 struct ieee802_11_elems elems; in handle_beacon() local
5966 sizeof(mgmt->u.beacon)), &elems, in handle_beacon()
5969 ap_list_process_beacon(hapd->iface, mgmt, &elems, fi); in handle_beacon()