Lines Matching refs:mgmt
87 const struct ieee80211_mgmt *mgmt, size_t len,
1271 const struct ieee80211_mgmt *mgmt, size_t len, in handle_auth_sae() argument
1288 pos = mgmt->u.auth.variable; in handle_auth_sae()
1289 end = ((const u8 *) mgmt) + len; in handle_auth_sae()
1291 send_auth_reply(hapd, sta, mgmt->sa, mgmt->bssid, WLAN_AUTH_SAE, in handle_auth_sae()
1299 send_auth_reply(hapd, sta, mgmt->sa, mgmt->bssid, WLAN_AUTH_SAE, in handle_auth_sae()
1344 pos = mgmt->u.auth.variable; in handle_auth_sae()
1345 end = ((const u8 *) mgmt) + len; in handle_auth_sae()
1378 resp = auth_sae_send_commit(hapd, sta, mgmt->bssid, 0, in handle_auth_sae()
1414 pos = mgmt->u.auth.variable; in handle_auth_sae()
1415 end = ((const u8 *) mgmt) + len; in handle_auth_sae()
1432 resp = sae_parse_commit(sta->sae, mgmt->u.auth.variable, in handle_auth_sae()
1433 ((const u8 *) mgmt) + len - in handle_auth_sae()
1434 mgmt->u.auth.variable, &token, in handle_auth_sae()
1492 resp = sae_sm_step(hapd, sta, mgmt->bssid, auth_transaction, in handle_auth_sae()
1507 var = mgmt->u.auth.variable; in handle_auth_sae()
1508 var_len = ((u8 *) mgmt) + len - mgmt->u.auth.variable; in handle_auth_sae()
1534 resp = sae_sm_step(hapd, sta, mgmt->bssid, auth_transaction, in handle_auth_sae()
1549 pos = mgmt->u.auth.variable; in handle_auth_sae()
1550 end = ((const u8 *) mgmt) + len; in handle_auth_sae()
1559 send_auth_reply(hapd, sta, mgmt->sa, mgmt->bssid, WLAN_AUTH_SAE, in handle_auth_sae()
1637 const struct ieee80211_mgmt *mgmt, size_t len, in auth_sae_queue() argument
1648 MACSTR, MAC2STR(mgmt->sa)); in auth_sae_queue()
1653 MACSTR " for processing (queue_len %u)", MAC2STR(mgmt->sa), in auth_sae_queue()
1660 os_memcpy(q->msg, mgmt, len); in auth_sae_queue()
1671 if (os_memcmp(mgmt->sa, mgmt2->sa, ETH_ALEN) == 0 && in auth_sae_queue()
1672 mgmt->u.auth.auth_transaction == in auth_sae_queue()
1697 const struct ieee80211_mgmt *mgmt; in auth_sae_queued_addr() local
1701 mgmt = (const struct ieee80211_mgmt *) q->msg; in auth_sae_queued_addr()
1702 if (os_memcmp(addr, mgmt->sa, ETH_ALEN) == 0) in auth_sae_queued_addr()
3005 const struct ieee80211_mgmt *mgmt, size_t len) in handle_auth_pasn_1() argument
3028 if (ieee802_11_parse_elems(mgmt->u.auth.variable, in handle_auth_pasn_1()
3163 ((const u8 *) mgmt) + IEEE80211_HDRLEN, in handle_auth_pasn_1()
3224 ((const u8 *) mgmt) + IEEE80211_HDRLEN, in handle_auth_pasn_1()
3250 const struct ieee80211_mgmt *mgmt, size_t len) in handle_auth_pasn_3() argument
3259 if (ieee802_11_parse_elems(mgmt->u.auth.variable, in handle_auth_pasn_3()
3306 (u8 *) &mgmt->u.auth, in handle_auth_pasn_3()
3361 const struct ieee80211_mgmt *mgmt, size_t len, in handle_auth_pasn() argument
3392 handle_auth_pasn_1(hapd, sta, mgmt, len); in handle_auth_pasn()
3407 handle_auth_pasn_3(hapd, sta, mgmt, len); in handle_auth_pasn()
3418 const struct ieee80211_mgmt *mgmt, size_t len, in handle_auth() argument
3432 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.auth)) { in handle_auth()
3443 MAC2STR(mgmt->sa)); in handle_auth()
3448 auth_alg = le_to_host16(mgmt->u.auth.auth_alg); in handle_auth()
3449 auth_transaction = le_to_host16(mgmt->u.auth.auth_transaction); in handle_auth()
3450 status_code = le_to_host16(mgmt->u.auth.status_code); in handle_auth()
3451 fc = le_to_host16(mgmt->frame_control); in handle_auth()
3452 seq_ctrl = le_to_host16(mgmt->seq_ctrl); in handle_auth()
3454 if (len >= IEEE80211_HDRLEN + sizeof(mgmt->u.auth) + in handle_auth()
3456 mgmt->u.auth.variable[0] == WLAN_EID_CHALLENGE && in handle_auth()
3457 mgmt->u.auth.variable[1] == WLAN_AUTH_CHALLENGE_LEN) in handle_auth()
3458 challenge = &mgmt->u.auth.variable[2]; in handle_auth()
3463 MAC2STR(mgmt->sa), auth_alg, auth_transaction, in handle_auth()
3527 if (os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) { in handle_auth()
3529 MAC2STR(mgmt->sa)); in handle_auth()
3537 other = sta_track_seen_on(hapd->iface, mgmt->sa, in handle_auth()
3546 hapd->conf->iface, MAC2STR(mgmt->sa), in handle_auth()
3589 res = ieee802_11_allowed_address(hapd, mgmt->sa, (const u8 *) mgmt, len, in handle_auth()
3594 " due to ACL reject", MAC2STR(mgmt->sa)); in handle_auth()
3604 (auth_transaction == 2 && auth_sae_queued_addr(hapd, mgmt->sa)))) { in handle_auth()
3612 auth_sae_queue(hapd, mgmt, len, rssi); in handle_auth()
3617 sta = ap_get_sta(hapd, mgmt->sa); in handle_auth()
3637 MAC2STR(mgmt->sa)); in handle_auth()
3657 MAC2STR(mgmt->sa)); in handle_auth()
3663 hapd->mesh_pending_auth = wpabuf_alloc_copy(mgmt, len); in handle_auth()
3669 sta = ap_sta_add(hapd, mgmt->sa); in handle_auth()
3766 wpa_ft_process_auth(sta->wpa_sm, mgmt->bssid, in handle_auth()
3767 auth_transaction, mgmt->u.auth.variable, in handle_auth()
3769 sizeof(mgmt->u.auth), in handle_auth()
3791 handle_auth_sae(hapd, sta, mgmt, len, auth_transaction, in handle_auth()
3798 handle_auth_fils(hapd, sta, mgmt->u.auth.variable, in handle_auth()
3799 len - IEEE80211_HDRLEN - sizeof(mgmt->u.auth), in handle_auth()
3806 handle_auth_pasn(hapd, sta, mgmt, len, auth_transaction, in handle_auth()
3813 reply_res = send_auth_reply(hapd, sta, mgmt->sa, mgmt->bssid, auth_alg, in handle_auth()
5310 const struct ieee80211_mgmt *mgmt, size_t len, in handle_assoc() argument
5325 if (len < IEEE80211_HDRLEN + (reassoc ? sizeof(mgmt->u.reassoc_req) : in handle_assoc()
5326 sizeof(mgmt->u.assoc_req))) { in handle_assoc()
5338 MACSTR, MAC2STR(mgmt->sa)); in handle_assoc()
5346 MACSTR, MAC2STR(mgmt->sa)); in handle_assoc()
5352 fc = le_to_host16(mgmt->frame_control); in handle_assoc()
5353 seq_ctrl = le_to_host16(mgmt->seq_ctrl); in handle_assoc()
5356 capab_info = le_to_host16(mgmt->u.reassoc_req.capab_info); in handle_assoc()
5358 mgmt->u.reassoc_req.listen_interval); in handle_assoc()
5362 MAC2STR(mgmt->sa), capab_info, listen_interval, in handle_assoc()
5363 MAC2STR(mgmt->u.reassoc_req.current_ap), in handle_assoc()
5365 left = len - (IEEE80211_HDRLEN + sizeof(mgmt->u.reassoc_req)); in handle_assoc()
5366 pos = mgmt->u.reassoc_req.variable; in handle_assoc()
5368 capab_info = le_to_host16(mgmt->u.assoc_req.capab_info); in handle_assoc()
5370 mgmt->u.assoc_req.listen_interval); in handle_assoc()
5374 MAC2STR(mgmt->sa), capab_info, listen_interval, in handle_assoc()
5376 left = len - (IEEE80211_HDRLEN + sizeof(mgmt->u.assoc_req)); in handle_assoc()
5377 pos = mgmt->u.assoc_req.variable; in handle_assoc()
5380 sta = ap_get_sta(hapd, mgmt->sa); in handle_assoc()
5386 "over-the-DS FT", MAC2STR(mgmt->sa)); in handle_assoc()
5402 acl_res = ieee802_11_allowed_address(hapd, mgmt->sa, in handle_assoc()
5403 (const u8 *) mgmt, in handle_assoc()
5409 MAC2STR(mgmt->sa)); in handle_assoc()
5418 sta = ap_sta_add(hapd, mgmt->sa); in handle_assoc()
5420 hostapd_logger(hapd, mgmt->sa, in handle_assoc()
5443 hostapd_logger(hapd, mgmt->sa, in handle_assoc()
5449 send_deauth(hapd, mgmt->sa, in handle_assoc()
5476 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in handle_assoc()
5520 res = fils_decrypt_assoc(sta->wpa_sm, sta->fils_session, mgmt, in handle_assoc()
5539 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in handle_assoc()
5690 reply_res = send_assoc_resp(hapd, sta, mgmt->sa, resp, reassoc, in handle_assoc()
5708 const struct ieee80211_mgmt *mgmt, size_t len) in handle_disassoc() argument
5712 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.disassoc)) { in handle_disassoc()
5719 MAC2STR(mgmt->sa), in handle_disassoc()
5720 le_to_host16(mgmt->u.disassoc.reason_code)); in handle_disassoc()
5722 sta = ap_get_sta(hapd, mgmt->sa); in handle_disassoc()
5725 MAC2STR(mgmt->sa)); in handle_disassoc()
5757 hapd, sta, le_to_host16(mgmt->u.disassoc.reason_code)); in handle_disassoc()
5773 const struct ieee80211_mgmt *mgmt, size_t len) in handle_deauth() argument
5777 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.deauth)) { in handle_deauth()
5785 MAC2STR(mgmt->sa), le_to_host16(mgmt->u.deauth.reason_code)); in handle_deauth()
5787 sta = ap_get_sta(hapd, mgmt->sa); in handle_deauth()
5791 MAC2STR(mgmt->sa)); in handle_deauth()
5804 hapd, sta, le_to_host16(mgmt->u.deauth.reason_code)); in handle_deauth()
5812 const struct ieee80211_mgmt *mgmt, size_t len, in handle_beacon() argument
5817 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.beacon)) { in handle_beacon()
5823 (void) ieee802_11_parse_elems(mgmt->u.beacon.variable, in handle_beacon()
5825 sizeof(mgmt->u.beacon)), &elems, in handle_beacon()
5828 ap_list_process_beacon(hapd->iface, mgmt, &elems, fi); in handle_beacon()
5840 const struct ieee80211_mgmt *mgmt, size_t len, in handle_action() argument
5847 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in handle_action()
5854 action = (u8 *) &mgmt->u.action.u; in handle_action()
5857 mgmt->u.action.category, *action, in handle_action()
5858 MAC2STR(mgmt->sa), MAC2STR(mgmt->da), (int) len, freq); in handle_action()
5860 sta = ap_get_sta(hapd, mgmt->sa); in handle_action()
5862 if (mgmt->u.action.category != WLAN_ACTION_PUBLIC && in handle_action()
5866 mgmt->u.action.category, MAC2STR(mgmt->sa)); in handle_action()
5871 !(mgmt->frame_control & host_to_le16(WLAN_FC_ISWEP)) && in handle_action()
5872 robust_action_frame(mgmt->u.action.category)) { in handle_action()
5873 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in handle_action()
5881 u16 fc = le_to_host16(mgmt->frame_control); in handle_action()
5882 u16 seq_ctrl = le_to_host16(mgmt->seq_ctrl); in handle_action()
5900 switch (mgmt->u.action.category) { in handle_action()
5904 wpa_ft_action_rx(sta->wpa_sm, (u8 *) &mgmt->u.action, in handle_action()
5910 hostapd_wmm_action(hapd, mgmt, len); in handle_action()
5913 ieee802_11_sa_query_action(hapd, mgmt, len); in handle_action()
5917 ieee802_11_rx_wnm_action_ap(hapd, mgmt, len); in handle_action()
5923 fst_rx_action(hapd->iface->fst, mgmt, len); in handle_action()
5932 mgmt->u.action.u.public_action.action == in handle_action()
5934 hostapd_2040_coex_action(hapd, mgmt, len); in handle_action()
5939 mgmt->u.action.u.vs_public_action.action == in handle_action()
5941 WPA_GET_BE24(mgmt->u.action.u.vs_public_action.oui) == in handle_action()
5943 mgmt->u.action.u.vs_public_action.variable[0] == in handle_action()
5947 pos = mgmt->u.action.u.vs_public_action.oui; in handle_action()
5948 end = ((const u8 *) mgmt) + len; in handle_action()
5949 hostapd_dpp_rx_action(hapd, mgmt->sa, pos, end - pos, in handle_action()
5954 (mgmt->u.action.u.public_action.action == in handle_action()
5956 mgmt->u.action.u.public_action.action == in handle_action()
5960 pos = &mgmt->u.action.u.public_action.action; in handle_action()
5961 end = ((const u8 *) mgmt) + len; in handle_action()
5962 gas_query_ap_rx(hapd->gas, mgmt->sa, in handle_action()
5963 mgmt->u.action.category, in handle_action()
5970 (u8 *) mgmt, len, in handle_action()
5975 (u8 *) mgmt, len, in handle_action()
5984 (u8 *) mgmt, len, in handle_action()
5990 hostapd_handle_radio_measurement(hapd, (const u8 *) mgmt, len); in handle_action()
5994 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in handle_action()
5998 mgmt->u.action.category); in handle_action()
5999 if (!is_multicast_ether_addr(mgmt->da) && in handle_action()
6000 !(mgmt->u.action.category & 0x80) && in handle_action()
6001 !is_multicast_ether_addr(mgmt->sa)) { in handle_action()
6011 resp = os_memdup(mgmt, len); in handle_action()
6071 struct ieee80211_mgmt *mgmt; in ieee802_11_mgmt() local
6085 mgmt = (struct ieee80211_mgmt *) buf; in ieee802_11_mgmt()
6086 fc = le_to_host16(mgmt->frame_control); in ieee802_11_mgmt()
6089 if (is_multicast_ether_addr(mgmt->sa) || in ieee802_11_mgmt()
6090 is_zero_ether_addr(mgmt->sa) || in ieee802_11_mgmt()
6091 os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) { in ieee802_11_mgmt()
6097 MAC2STR(mgmt->sa)); in ieee802_11_mgmt()
6102 handle_beacon(hapd, mgmt, len, fi); in ieee802_11_mgmt()
6106 if (!is_broadcast_ether_addr(mgmt->bssid) && in ieee802_11_mgmt()
6115 os_memcmp(mgmt->bssid, hapd->own_addr, ETH_ALEN) != 0) { in ieee802_11_mgmt()
6117 MAC2STR(mgmt->bssid)); in ieee802_11_mgmt()
6123 MAC2STR(mgmt->sa), MAC2STR(mgmt->da), stype); in ieee802_11_mgmt()
6128 handle_probe_req(hapd, mgmt, len, ssi_signal); in ieee802_11_mgmt()
6132 if ((!is_broadcast_ether_addr(mgmt->da) || in ieee802_11_mgmt()
6134 os_memcmp(mgmt->da, hapd->own_addr, ETH_ALEN) != 0) { in ieee802_11_mgmt()
6135 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in ieee802_11_mgmt()
6138 MAC2STR(mgmt->da)); in ieee802_11_mgmt()
6143 sta_track_add(hapd->iface, mgmt->sa, ssi_signal); in ieee802_11_mgmt()
6151 handle_auth(hapd, mgmt, len, ssi_signal, 0); in ieee802_11_mgmt()
6156 handle_assoc(hapd, mgmt, len, 0, ssi_signal); in ieee802_11_mgmt()
6161 handle_assoc(hapd, mgmt, len, 1, ssi_signal); in ieee802_11_mgmt()
6166 handle_disassoc(hapd, mgmt, len); in ieee802_11_mgmt()
6171 handle_deauth(hapd, mgmt, len); in ieee802_11_mgmt()
6176 ret = handle_action(hapd, mgmt, len, freq); in ieee802_11_mgmt()
6179 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211, in ieee802_11_mgmt()
6190 const struct ieee80211_mgmt *mgmt, in handle_auth_cb() argument
6197 sta = ap_get_sta(hapd, mgmt->da); in handle_auth_cb()
6201 MAC2STR(mgmt->da)); in handle_auth_cb()
6205 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.auth)) { in handle_auth_cb()
6214 auth_alg = le_to_host16(mgmt->u.auth.auth_alg); in handle_auth_cb()
6215 auth_transaction = le_to_host16(mgmt->u.auth.auth_transaction); in handle_auth_cb()
6216 status_code = le_to_host16(mgmt->u.auth.status_code); in handle_auth_cb()
6219 hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211, in handle_auth_cb()
6279 const struct ieee80211_mgmt *mgmt, in handle_assoc_cb() argument
6286 sta = ap_get_sta(hapd, mgmt->da); in handle_assoc_cb()
6289 MAC2STR(mgmt->da)); in handle_assoc_cb()
6293 if (len < IEEE80211_HDRLEN + (reassoc ? sizeof(mgmt->u.reassoc_resp) : in handle_assoc_cb()
6294 sizeof(mgmt->u.assoc_resp))) { in handle_assoc_cb()
6303 status = le_to_host16(mgmt->u.reassoc_resp.status_code); in handle_assoc_cb()
6305 status = le_to_host16(mgmt->u.assoc_resp.status_code); in handle_assoc_cb()
6308 hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211, in handle_assoc_cb()
6421 hapd, mgmt->da, in handle_assoc_cb()
6433 const struct ieee80211_mgmt *mgmt, in handle_deauth_cb() argument
6437 if (is_multicast_ether_addr(mgmt->da)) in handle_deauth_cb()
6439 sta = ap_get_sta(hapd, mgmt->da); in handle_deauth_cb()
6442 " not found", MAC2STR(mgmt->da)); in handle_deauth_cb()
6457 const struct ieee80211_mgmt *mgmt, in handle_disassoc_cb() argument
6461 if (is_multicast_ether_addr(mgmt->da)) in handle_disassoc_cb()
6463 sta = ap_get_sta(hapd, mgmt->da); in handle_disassoc_cb()
6466 " not found", MAC2STR(mgmt->da)); in handle_disassoc_cb()
6481 const struct ieee80211_mgmt *mgmt, in handle_action_cb() argument
6487 if (is_multicast_ether_addr(mgmt->da)) in handle_action_cb()
6491 mgmt->u.action.category == WLAN_ACTION_PUBLIC && in handle_action_cb()
6492 mgmt->u.action.u.vs_public_action.action == in handle_action_cb()
6494 WPA_GET_BE24(mgmt->u.action.u.vs_public_action.oui) == in handle_action_cb()
6496 mgmt->u.action.u.vs_public_action.variable[0] == in handle_action_cb()
6500 pos = &mgmt->u.action.u.vs_public_action.variable[1]; in handle_action_cb()
6501 end = ((const u8 *) mgmt) + len; in handle_action_cb()
6502 hostapd_dpp_tx_status(hapd, mgmt->da, pos, end - pos, ok); in handle_action_cb()
6506 mgmt->u.action.category == WLAN_ACTION_PUBLIC && in handle_action_cb()
6507 (mgmt->u.action.u.public_action.action == in handle_action_cb()
6509 mgmt->u.action.u.public_action.action == in handle_action_cb()
6513 pos = mgmt->u.action.u.public_action.variable; in handle_action_cb()
6514 end = ((const u8 *) mgmt) + len; in handle_action_cb()
6515 gas_query_ap_tx_status(hapd->gas, mgmt->da, pos, end - pos, ok); in handle_action_cb()
6519 sta = ap_get_sta(hapd, mgmt->da); in handle_action_cb()
6522 " not found", MAC2STR(mgmt->da)); in handle_action_cb()
6529 &mgmt->u.action.u.rrm.variable[2]; in handle_action_cb()
6530 if (mgmt->u.action.category == WLAN_ACTION_RADIO_MEASUREMENT && in handle_action_cb()
6531 mgmt->u.action.u.rrm.action == WLAN_RRM_RADIO_MEASUREMENT_REQUEST && in handle_action_cb()
6535 hostapd_rrm_beacon_req_tx_status(hapd, mgmt, len, ok); in handle_action_cb()
6551 const struct ieee80211_mgmt *mgmt; in ieee802_11_mgmt_cb() local
6552 mgmt = (const struct ieee80211_mgmt *) buf; in ieee802_11_mgmt_cb()
6573 handle_auth_cb(hapd, mgmt, len, ok); in ieee802_11_mgmt_cb()
6577 handle_assoc_cb(hapd, mgmt, len, 0, ok); in ieee802_11_mgmt_cb()
6581 handle_assoc_cb(hapd, mgmt, len, 1, ok); in ieee802_11_mgmt_cb()
6588 handle_deauth_cb(hapd, mgmt, len, ok); in ieee802_11_mgmt_cb()
6592 handle_disassoc_cb(hapd, mgmt, len, ok); in ieee802_11_mgmt_cb()
6596 handle_action_cb(hapd, mgmt, len, ok); in ieee802_11_mgmt_cb()