Lines Matching refs:mgmt

85 			const struct ieee80211_mgmt *mgmt, size_t len,
1307 const struct ieee80211_mgmt *mgmt, size_t len, in handle_auth_sae() argument
1324 pos = mgmt->u.auth.variable; in handle_auth_sae()
1325 end = ((const u8 *) mgmt) + len; in handle_auth_sae()
1382 pos = mgmt->u.auth.variable; in handle_auth_sae()
1383 end = ((const u8 *) mgmt) + len; in handle_auth_sae()
1457 pos = mgmt->u.auth.variable; in handle_auth_sae()
1458 end = ((const u8 *) mgmt) + len; in handle_auth_sae()
1475 resp = sae_parse_commit(sta->sae, mgmt->u.auth.variable, in handle_auth_sae()
1476 ((const u8 *) mgmt) + len - in handle_auth_sae()
1477 mgmt->u.auth.variable, &token, in handle_auth_sae()
1560 var = mgmt->u.auth.variable; in handle_auth_sae()
1561 var_len = ((u8 *) mgmt) + len - mgmt->u.auth.variable; in handle_auth_sae()
1603 pos = mgmt->u.auth.variable; in handle_auth_sae()
1604 end = ((const u8 *) mgmt) + len; in handle_auth_sae()
1700 const struct ieee80211_mgmt *mgmt, size_t len, in auth_sae_queue() argument
1711 MACSTR, MAC2STR(mgmt->sa)); in auth_sae_queue()
1716 MACSTR " for processing (queue_len %u)", MAC2STR(mgmt->sa), in auth_sae_queue()
1723 os_memcpy(q->msg, mgmt, len); in auth_sae_queue()
1734 if (ether_addr_equal(mgmt->sa, mgmt2->sa) && in auth_sae_queue()
1735 mgmt->u.auth.auth_transaction == in auth_sae_queue()
1760 const struct ieee80211_mgmt *mgmt; in auth_sae_queued_addr() local
1764 mgmt = (const struct ieee80211_mgmt *) q->msg; in auth_sae_queued_addr()
1765 if (ether_addr_equal(addr, mgmt->sa)) in auth_sae_queued_addr()
2711 const struct ieee80211_mgmt *mgmt, in hapd_pasn_update_params() argument
2723 if (ieee802_11_parse_elems(mgmt->u.auth.variable, in hapd_pasn_update_params()
2799 const struct ieee80211_mgmt *mgmt, size_t len, in handle_auth_pasn() argument
2832 hapd_pasn_update_params(hapd, sta, mgmt, len); in handle_auth_pasn()
2834 sta->addr, mgmt, len) < 0) in handle_auth_pasn()
2851 sta->addr, mgmt, len) == 0) { in handle_auth_pasn()
2873 const struct ieee80211_mgmt *mgmt, size_t len, in handle_auth() argument
2891 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.auth)) { in handle_auth()
2902 MAC2STR(mgmt->sa)); in handle_auth()
2907 sa = mgmt->sa; in handle_auth()
2914 sa = hostapd_process_ml_auth(hapd, mgmt, len); in handle_auth()
2918 sa = mgmt->sa; in handle_auth()
2921 auth_alg = le_to_host16(mgmt->u.auth.auth_alg); in handle_auth()
2922 auth_transaction = le_to_host16(mgmt->u.auth.auth_transaction); in handle_auth()
2923 status_code = le_to_host16(mgmt->u.auth.status_code); in handle_auth()
2924 fc = le_to_host16(mgmt->frame_control); in handle_auth()
2925 seq_ctrl = le_to_host16(mgmt->seq_ctrl); in handle_auth()
2927 if (len >= IEEE80211_HDRLEN + sizeof(mgmt->u.auth) + in handle_auth()
2929 mgmt->u.auth.variable[0] == WLAN_EID_CHALLENGE && in handle_auth()
2930 mgmt->u.auth.variable[1] == WLAN_AUTH_CHALLENGE_LEN) in handle_auth()
2931 challenge = &mgmt->u.auth.variable[2]; in handle_auth()
3003 if (ether_addr_equal(mgmt->sa, hapd->own_addr)) { in handle_auth()
3077 res = ieee802_11_allowed_address(hapd, sa, (const u8 *) mgmt, len, in handle_auth()
3100 auth_sae_queue(hapd, mgmt, len, rssi); in handle_auth()
3142 hapd->mesh_pending_auth = wpabuf_alloc_copy(mgmt, len); in handle_auth()
3179 mgmt->sa, ETH_ALEN); in handle_auth()
3277 auth_transaction, mgmt->u.auth.variable, in handle_auth()
3279 sizeof(mgmt->u.auth), in handle_auth()
3301 handle_auth_sae(hapd, sta, mgmt, len, auth_transaction, in handle_auth()
3308 handle_auth_fils(hapd, sta, mgmt->u.auth.variable, in handle_auth()
3309 len - IEEE80211_HDRLEN - sizeof(mgmt->u.auth), in handle_auth()
3316 handle_auth_pasn(hapd, sta, mgmt, len, auth_transaction, in handle_auth()
3323 dst = mgmt->sa; in handle_auth()
5292 const struct ieee80211_mgmt *mgmt, in handle_mlo_translate() argument
5305 len -= IEEE80211_HDRLEN + sizeof(mgmt->u.reassoc_req); in handle_mlo_translate()
5306 pos = mgmt->u.reassoc_req.variable; in handle_mlo_translate()
5308 len -= IEEE80211_HDRLEN + sizeof(mgmt->u.assoc_req); in handle_mlo_translate()
5309 pos = mgmt->u.assoc_req.variable; in handle_mlo_translate()
5325 MAC2STR(mld_addr), MAC2STR(mgmt->sa)); in handle_mlo_translate()
5333 const struct ieee80211_mgmt *mgmt, size_t len, in handle_assoc() argument
5350 if (len < IEEE80211_HDRLEN + (reassoc ? sizeof(mgmt->u.reassoc_req) : in handle_assoc()
5351 sizeof(mgmt->u.assoc_req))) { in handle_assoc()
5363 MACSTR, MAC2STR(mgmt->sa)); in handle_assoc()
5371 MACSTR, MAC2STR(mgmt->sa)); in handle_assoc()
5377 fc = le_to_host16(mgmt->frame_control); in handle_assoc()
5378 seq_ctrl = le_to_host16(mgmt->seq_ctrl); in handle_assoc()
5381 capab_info = le_to_host16(mgmt->u.reassoc_req.capab_info); in handle_assoc()
5383 mgmt->u.reassoc_req.listen_interval); in handle_assoc()
5387 MAC2STR(mgmt->sa), capab_info, listen_interval, in handle_assoc()
5388 MAC2STR(mgmt->u.reassoc_req.current_ap), in handle_assoc()
5390 left = len - (IEEE80211_HDRLEN + sizeof(mgmt->u.reassoc_req)); in handle_assoc()
5391 pos = mgmt->u.reassoc_req.variable; in handle_assoc()
5393 capab_info = le_to_host16(mgmt->u.assoc_req.capab_info); in handle_assoc()
5395 mgmt->u.assoc_req.listen_interval); in handle_assoc()
5399 MAC2STR(mgmt->sa), capab_info, listen_interval, in handle_assoc()
5401 left = len - (IEEE80211_HDRLEN + sizeof(mgmt->u.assoc_req)); in handle_assoc()
5402 pos = mgmt->u.assoc_req.variable; in handle_assoc()
5405 sta = ap_get_sta(hapd, mgmt->sa); in handle_assoc()
5417 sta = handle_mlo_translate(hapd, mgmt, len, reassoc, in handle_assoc()
5433 "over-the-DS FT", MAC2STR(mgmt->sa)); in handle_assoc()
5449 acl_res = ieee802_11_allowed_address(hapd, mgmt->sa, in handle_assoc()
5450 (const u8 *) mgmt, in handle_assoc()
5456 MAC2STR(mgmt->sa)); in handle_assoc()
5465 sta = ap_sta_add(hapd, mgmt->sa); in handle_assoc()
5467 hostapd_logger(hapd, mgmt->sa, in handle_assoc()
5490 hostapd_logger(hapd, mgmt->sa, in handle_assoc()
5496 send_deauth(hapd, mgmt->sa, in handle_assoc()
5523 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in handle_assoc()
5572 res = fils_decrypt_assoc(sta->wpa_sm, sta->fils_session, mgmt, in handle_assoc()
5593 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in handle_assoc()
5755 mgmt->sa, resp, reassoc, in handle_assoc()
5775 const struct ieee80211_mgmt *mgmt) in hostapd_deauth_sta() argument
5779 MAC2STR(mgmt->sa), le_to_host16(mgmt->u.deauth.reason_code)); in hostapd_deauth_sta()
5790 hapd, sta, le_to_host16(mgmt->u.deauth.reason_code)); in hostapd_deauth_sta()
5799 const struct ieee80211_mgmt *mgmt) in hostapd_disassoc_sta() argument
5803 MAC2STR(mgmt->sa), le_to_host16(mgmt->u.disassoc.reason_code)); in hostapd_disassoc_sta()
5833 hapd, sta, le_to_host16(mgmt->u.disassoc.reason_code)); in hostapd_disassoc_sta()
5850 const struct ieee80211_mgmt *mgmt, in hostapd_ml_handle_disconnect() argument
5884 hostapd_deauth_sta(tmp_hapd, tmp_sta, mgmt); in hostapd_ml_handle_disconnect()
5886 hostapd_disassoc_sta(tmp_hapd, tmp_sta, mgmt); in hostapd_ml_handle_disconnect()
5893 hostapd_deauth_sta(assoc_hapd, assoc_sta, mgmt); in hostapd_ml_handle_disconnect()
5895 hostapd_disassoc_sta(assoc_hapd, assoc_sta, mgmt); in hostapd_ml_handle_disconnect()
5905 const struct ieee80211_mgmt *mgmt, size_t len) in handle_disassoc() argument
5909 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.disassoc)) { in handle_disassoc()
5916 sta = ap_get_sta(hapd, mgmt->sa); in handle_disassoc()
5920 MAC2STR(mgmt->sa)); in handle_disassoc()
5924 if (hostapd_ml_handle_disconnect(hapd, sta, mgmt, true)) in handle_disassoc()
5927 hostapd_disassoc_sta(hapd, sta, mgmt); in handle_disassoc()
5932 const struct ieee80211_mgmt *mgmt, size_t len) in handle_deauth() argument
5936 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.deauth)) { in handle_deauth()
5944 ptksa_cache_flush(hapd->ptksa, mgmt->sa, WPA_CIPHER_NONE); in handle_deauth()
5946 sta = ap_get_sta(hapd, mgmt->sa); in handle_deauth()
5950 MAC2STR(mgmt->sa)); in handle_deauth()
5954 if (hostapd_ml_handle_disconnect(hapd, sta, mgmt, false)) in handle_deauth()
5957 hostapd_deauth_sta(hapd, sta, mgmt); in handle_deauth()
5962 const struct ieee80211_mgmt *mgmt, size_t len, in handle_beacon() argument
5967 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.beacon)) { in handle_beacon()
5973 (void) ieee802_11_parse_elems(mgmt->u.beacon.variable, in handle_beacon()
5975 sizeof(mgmt->u.beacon)), &elems, in handle_beacon()
5978 ap_list_process_beacon(hapd->iface, mgmt, &elems, fi); in handle_beacon()
5990 const struct ieee80211_mgmt *mgmt, size_t len, in handle_action() argument
5997 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in handle_action()
6004 action = (u8 *) &mgmt->u.action.u; in handle_action()
6007 mgmt->u.action.category, *action, in handle_action()
6008 MAC2STR(mgmt->sa), MAC2STR(mgmt->da), (int) len, freq); in handle_action()
6010 sta = ap_get_sta(hapd, mgmt->sa); in handle_action()
6012 if (mgmt->u.action.category != WLAN_ACTION_PUBLIC && in handle_action()
6016 mgmt->u.action.category, MAC2STR(mgmt->sa)); in handle_action()
6021 !(mgmt->frame_control & host_to_le16(WLAN_FC_ISWEP)) && in handle_action()
6022 robust_action_frame(mgmt->u.action.category)) { in handle_action()
6023 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in handle_action()
6031 u16 fc = le_to_host16(mgmt->frame_control); in handle_action()
6032 u16 seq_ctrl = le_to_host16(mgmt->seq_ctrl); in handle_action()
6050 switch (mgmt->u.action.category) { in handle_action()
6054 wpa_ft_action_rx(sta->wpa_sm, (u8 *) &mgmt->u.action, in handle_action()
6060 hostapd_wmm_action(hapd, mgmt, len); in handle_action()
6063 ieee802_11_sa_query_action(hapd, mgmt, len); in handle_action()
6067 ieee802_11_rx_wnm_action_ap(hapd, mgmt, len); in handle_action()
6073 fst_rx_action(hapd->iface->fst, mgmt, len); in handle_action()
6082 mgmt->u.action.u.public_action.action == in handle_action()
6084 hostapd_2040_coex_action(hapd, mgmt, len); in handle_action()
6089 mgmt->u.action.u.vs_public_action.action == in handle_action()
6091 WPA_GET_BE24(mgmt->u.action.u.vs_public_action.oui) == in handle_action()
6093 mgmt->u.action.u.vs_public_action.variable[0] == in handle_action()
6097 pos = mgmt->u.action.u.vs_public_action.oui; in handle_action()
6098 end = ((const u8 *) mgmt) + len; in handle_action()
6099 hostapd_dpp_rx_action(hapd, mgmt->sa, pos, end - pos, in handle_action()
6104 (mgmt->u.action.u.public_action.action == in handle_action()
6106 mgmt->u.action.u.public_action.action == in handle_action()
6110 pos = &mgmt->u.action.u.public_action.action; in handle_action()
6111 end = ((const u8 *) mgmt) + len; in handle_action()
6112 if (gas_query_ap_rx(hapd->gas, mgmt->sa, in handle_action()
6113 mgmt->u.action.category, in handle_action()
6119 if (mgmt->u.action.category == WLAN_ACTION_PUBLIC && in handle_action()
6121 mgmt->u.action.u.vs_public_action.action == in handle_action()
6123 WPA_GET_BE24(mgmt->u.action.u.vs_public_action.oui) == in handle_action()
6125 mgmt->u.action.u.vs_public_action.variable[0] == in handle_action()
6129 pos = mgmt->u.action.u.vs_public_action.variable; in handle_action()
6130 end = ((const u8 *) mgmt) + len; in handle_action()
6132 hostapd_nan_usd_rx_sdf(hapd, mgmt->sa, freq, in handle_action()
6139 (u8 *) mgmt, len, freq); in handle_action()
6143 (u8 *) mgmt, len, freq); in handle_action()
6151 (u8 *) mgmt, len, freq) == 0) in handle_action()
6157 hostapd_handle_radio_measurement(hapd, (const u8 *) mgmt, len); in handle_action()
6162 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in handle_action()
6166 mgmt->u.action.category); in handle_action()
6167 if (!is_multicast_ether_addr(mgmt->da) && in handle_action()
6168 !(mgmt->u.action.category & 0x80) && in handle_action()
6169 !is_multicast_ether_addr(mgmt->sa)) { in handle_action()
6179 resp = os_memdup(mgmt, len); in handle_action()
6239 struct ieee80211_mgmt *mgmt; in ieee802_11_mgmt() local
6257 mgmt = (struct ieee80211_mgmt *) buf; in ieee802_11_mgmt()
6258 fc = le_to_host16(mgmt->frame_control); in ieee802_11_mgmt()
6261 if (is_multicast_ether_addr(mgmt->sa) || in ieee802_11_mgmt()
6262 is_zero_ether_addr(mgmt->sa) || in ieee802_11_mgmt()
6263 ether_addr_equal(mgmt->sa, hapd->own_addr)) { in ieee802_11_mgmt()
6269 MAC2STR(mgmt->sa)); in ieee802_11_mgmt()
6274 handle_beacon(hapd, mgmt, len, fi); in ieee802_11_mgmt()
6278 if (!is_broadcast_ether_addr(mgmt->bssid) && in ieee802_11_mgmt()
6289 ether_addr_equal(hapd->mld->mld_addr, mgmt->bssid)) && in ieee802_11_mgmt()
6291 !ether_addr_equal(mgmt->bssid, hapd->own_addr)) { in ieee802_11_mgmt()
6293 MAC2STR(mgmt->bssid)); in ieee802_11_mgmt()
6299 MAC2STR(mgmt->sa), MAC2STR(mgmt->da), stype); in ieee802_11_mgmt()
6304 handle_probe_req(hapd, mgmt, len, ssi_signal); in ieee802_11_mgmt()
6308 if ((!is_broadcast_ether_addr(mgmt->da) || in ieee802_11_mgmt()
6312 ether_addr_equal(hapd->mld->mld_addr, mgmt->bssid)) && in ieee802_11_mgmt()
6315 !ether_addr_equal(mgmt->da, nan_network_id) && in ieee802_11_mgmt()
6317 !ether_addr_equal(mgmt->da, hapd->own_addr)) { in ieee802_11_mgmt()
6318 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in ieee802_11_mgmt()
6321 MAC2STR(mgmt->da)); in ieee802_11_mgmt()
6326 sta_track_add(hapd->iface, mgmt->sa, ssi_signal); in ieee802_11_mgmt()
6334 handle_auth(hapd, mgmt, len, ssi_signal, 0); in ieee802_11_mgmt()
6339 handle_assoc(hapd, mgmt, len, 0, ssi_signal); in ieee802_11_mgmt()
6344 handle_assoc(hapd, mgmt, len, 1, ssi_signal); in ieee802_11_mgmt()
6349 handle_disassoc(hapd, mgmt, len); in ieee802_11_mgmt()
6354 handle_deauth(hapd, mgmt, len); in ieee802_11_mgmt()
6359 ret = handle_action(hapd, mgmt, len, freq); in ieee802_11_mgmt()
6362 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in ieee802_11_mgmt()
6373 const struct ieee80211_mgmt *mgmt, in handle_auth_cb() argument
6380 sta = ap_get_sta(hapd, mgmt->da); in handle_auth_cb()
6384 MAC2STR(mgmt->da)); in handle_auth_cb()
6388 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.auth)) { in handle_auth_cb()
6397 auth_alg = le_to_host16(mgmt->u.auth.auth_alg); in handle_auth_cb()
6398 auth_transaction = le_to_host16(mgmt->u.auth.auth_transaction); in handle_auth_cb()
6399 status_code = le_to_host16(mgmt->u.auth.status_code); in handle_auth_cb()
6402 hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211, in handle_auth_cb()
6544 const struct ieee80211_mgmt *mgmt, in handle_assoc_cb() argument
6551 sta = ap_get_sta(hapd, mgmt->da); in handle_assoc_cb()
6554 MAC2STR(mgmt->da)); in handle_assoc_cb()
6569 if (len < IEEE80211_HDRLEN + (reassoc ? sizeof(mgmt->u.reassoc_resp) : in handle_assoc_cb()
6570 sizeof(mgmt->u.assoc_resp))) { in handle_assoc_cb()
6579 status = le_to_host16(mgmt->u.reassoc_resp.status_code); in handle_assoc_cb()
6581 status = le_to_host16(mgmt->u.assoc_resp.status_code); in handle_assoc_cb()
6584 hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211, in handle_assoc_cb()
6702 hapd, mgmt->da, in handle_assoc_cb()
6718 const struct ieee80211_mgmt *mgmt, in handle_deauth_cb() argument
6722 if (is_multicast_ether_addr(mgmt->da)) in handle_deauth_cb()
6724 sta = ap_get_sta(hapd, mgmt->da); in handle_deauth_cb()
6727 " not found", MAC2STR(mgmt->da)); in handle_deauth_cb()
6742 const struct ieee80211_mgmt *mgmt, in handle_disassoc_cb() argument
6746 if (is_multicast_ether_addr(mgmt->da)) in handle_disassoc_cb()
6748 sta = ap_get_sta(hapd, mgmt->da); in handle_disassoc_cb()
6751 " not found", MAC2STR(mgmt->da)); in handle_disassoc_cb()
6766 const struct ieee80211_mgmt *mgmt, in handle_action_cb() argument
6776 mgmt->u.action.category == WLAN_ACTION_PUBLIC && in handle_action_cb()
6777 mgmt->u.action.u.vs_public_action.action == in handle_action_cb()
6779 WPA_GET_BE24(mgmt->u.action.u.vs_public_action.oui) == in handle_action_cb()
6781 mgmt->u.action.u.vs_public_action.variable[0] == in handle_action_cb()
6785 pos = &mgmt->u.action.u.vs_public_action.variable[1]; in handle_action_cb()
6786 end = ((const u8 *) mgmt) + len; in handle_action_cb()
6787 hostapd_dpp_tx_status(hapd, mgmt->da, pos, end - pos, ok); in handle_action_cb()
6791 mgmt->u.action.category == WLAN_ACTION_PUBLIC && in handle_action_cb()
6792 (mgmt->u.action.u.public_action.action == in handle_action_cb()
6794 mgmt->u.action.u.public_action.action == in handle_action_cb()
6798 pos = mgmt->u.action.u.public_action.variable; in handle_action_cb()
6799 end = ((const u8 *) mgmt) + len; in handle_action_cb()
6800 gas_query_ap_tx_status(hapd->gas, mgmt->da, pos, end - pos, ok); in handle_action_cb()
6804 if (is_multicast_ether_addr(mgmt->da)) in handle_action_cb()
6806 sta = ap_get_sta(hapd, mgmt->da); in handle_action_cb()
6809 " not found", MAC2STR(mgmt->da)); in handle_action_cb()
6815 mgmt->u.action.category == WLAN_ACTION_WNM && in handle_action_cb()
6816 mgmt->u.action.u.vs_public_action.action == WNM_NOTIFICATION_REQ && in handle_action_cb()
6830 &mgmt->u.action.u.rrm.variable[2]; in handle_action_cb()
6831 if (mgmt->u.action.category == WLAN_ACTION_RADIO_MEASUREMENT && in handle_action_cb()
6832 mgmt->u.action.u.rrm.action == WLAN_RRM_RADIO_MEASUREMENT_REQUEST && in handle_action_cb()
6836 hostapd_rrm_beacon_req_tx_status(hapd, mgmt, len, ok); in handle_action_cb()
6853 const struct ieee80211_mgmt *mgmt; in ieee802_11_mgmt_cb() local
6854 mgmt = (const struct ieee80211_mgmt *) buf; in ieee802_11_mgmt_cb()
6875 handle_auth_cb(hapd, mgmt, len, ok); in ieee802_11_mgmt_cb()
6879 handle_assoc_cb(hapd, mgmt, len, 0, ok); in ieee802_11_mgmt_cb()
6883 handle_assoc_cb(hapd, mgmt, len, 1, ok); in ieee802_11_mgmt_cb()
6890 handle_deauth_cb(hapd, mgmt, len, ok); in ieee802_11_mgmt_cb()
6894 handle_disassoc_cb(hapd, mgmt, len, ok); in ieee802_11_mgmt_cb()
6898 handle_action_cb(hapd, mgmt, len, ok); in ieee802_11_mgmt_cb()