Lines Matching refs:mgmt
722 const struct ieee80211_mgmt *mgmt, size_t len,
761 pos = mgmt->u.auth.variable;
762 end = ((const u8 *) mgmt) + len;
796 resp = auth_sae_send_commit(hapd, sta, mgmt->bssid, 0);
811 resp = sae_parse_commit(sta->sae, mgmt->u.auth.variable,
812 ((const u8 *) mgmt) + len -
813 mgmt->u.auth.variable, &token,
845 resp = sae_sm_step(hapd, sta, mgmt->bssid, auth_transaction);
855 if (sae_check_confirm(sta->sae, mgmt->u.auth.variable,
856 ((u8 *) mgmt) + len -
857 mgmt->u.auth.variable) < 0) {
862 resp = sae_sm_step(hapd, sta, mgmt->bssid, auth_transaction);
875 send_auth_reply(hapd, mgmt->sa, mgmt->bssid, WLAN_AUTH_SAE,
926 const struct ieee80211_mgmt *mgmt, size_t len)
945 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.auth)) {
956 MAC2STR(mgmt->sa));
961 auth_alg = le_to_host16(mgmt->u.auth.auth_alg);
962 auth_transaction = le_to_host16(mgmt->u.auth.auth_transaction);
963 status_code = le_to_host16(mgmt->u.auth.status_code);
964 fc = le_to_host16(mgmt->frame_control);
965 seq_ctrl = le_to_host16(mgmt->seq_ctrl);
967 if (len >= IEEE80211_HDRLEN + sizeof(mgmt->u.auth) +
969 mgmt->u.auth.variable[0] == WLAN_EID_CHALLENGE &&
970 mgmt->u.auth.variable[1] == WLAN_AUTH_CHALLENGE_LEN)
971 challenge = &mgmt->u.auth.variable[2];
976 MAC2STR(mgmt->sa), auth_alg, auth_transaction,
1022 if (os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) {
1024 MAC2STR(mgmt->sa));
1032 other = sta_track_seen_on(hapd->iface, mgmt->sa,
1041 hapd->conf->iface, MAC2STR(mgmt->sa),
1084 res = hostapd_allowed_address(hapd, mgmt->sa, (u8 *) mgmt, len,
1091 MAC2STR(mgmt->sa));
1098 MAC2STR(mgmt->sa));
1105 sta = ap_get_sta(hapd, mgmt->sa);
1123 MAC2STR(mgmt->sa));
1134 MAC2STR(mgmt->sa));
1140 hapd->mesh_pending_auth = wpabuf_alloc_copy(mgmt, len);
1146 sta = ap_sta_add(hapd, mgmt->sa);
1273 wpa_ft_process_auth(sta->wpa_sm, mgmt->bssid,
1274 auth_transaction, mgmt->u.auth.variable,
1276 sizeof(mgmt->u.auth),
1298 handle_auth_sae(hapd, sta, mgmt, len, auth_transaction,
1309 reply_res = send_auth_reply(hapd, mgmt->sa, mgmt->bssid, auth_alg,
1963 const struct ieee80211_mgmt *mgmt, size_t len,
1972 if (len < IEEE80211_HDRLEN + (reassoc ? sizeof(mgmt->u.reassoc_req) :
1973 sizeof(mgmt->u.assoc_req))) {
1985 MACSTR, MAC2STR(mgmt->sa));
1993 MACSTR, MAC2STR(mgmt->sa));
1999 fc = le_to_host16(mgmt->frame_control);
2000 seq_ctrl = le_to_host16(mgmt->seq_ctrl);
2003 capab_info = le_to_host16(mgmt->u.reassoc_req.capab_info);
2005 mgmt->u.reassoc_req.listen_interval);
2009 MAC2STR(mgmt->sa), capab_info, listen_interval,
2010 MAC2STR(mgmt->u.reassoc_req.current_ap),
2012 left = len - (IEEE80211_HDRLEN + sizeof(mgmt->u.reassoc_req));
2013 pos = mgmt->u.reassoc_req.variable;
2015 capab_info = le_to_host16(mgmt->u.assoc_req.capab_info);
2017 mgmt->u.assoc_req.listen_interval);
2021 MAC2STR(mgmt->sa), capab_info, listen_interval,
2023 left = len - (IEEE80211_HDRLEN + sizeof(mgmt->u.assoc_req));
2024 pos = mgmt->u.assoc_req.variable;
2027 sta = ap_get_sta(hapd, mgmt->sa);
2033 "over-the-DS FT", MAC2STR(mgmt->sa));
2043 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
2049 send_deauth(hapd, mgmt->sa,
2075 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
2097 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
2211 const struct ieee80211_mgmt *mgmt, size_t len)
2215 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.disassoc)) {
2222 MAC2STR(mgmt->sa),
2223 le_to_host16(mgmt->u.disassoc.reason_code));
2225 sta = ap_get_sta(hapd, mgmt->sa);
2228 MAC2STR(mgmt->sa));
2259 hapd, sta, le_to_host16(mgmt->u.disassoc.reason_code));
2264 const struct ieee80211_mgmt *mgmt, size_t len)
2268 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.deauth)) {
2276 MAC2STR(mgmt->sa), le_to_host16(mgmt->u.deauth.reason_code));
2278 sta = ap_get_sta(hapd, mgmt->sa);
2282 MAC2STR(mgmt->sa));
2294 hapd, sta, le_to_host16(mgmt->u.deauth.reason_code));
2302 const struct ieee80211_mgmt *mgmt, size_t len,
2307 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.beacon)) {
2313 (void) ieee802_11_parse_elems(mgmt->u.beacon.variable,
2315 sizeof(mgmt->u.beacon)), &elems,
2318 ap_list_process_beacon(hapd->iface, mgmt, &elems, fi);
2325 const struct ieee80211_mgmt *mgmt,
2330 end = mgmt->u.action.u.sa_query_resp.trans_id +
2332 if (((u8 *) mgmt) + len < end) {
2338 ieee802_11_sa_query_action(hapd, mgmt->sa,
2339 mgmt->u.action.u.sa_query_resp.action,
2340 mgmt->u.action.u.sa_query_resp.trans_id);
2354 const struct ieee80211_mgmt *mgmt, size_t len)
2357 sta = ap_get_sta(hapd, mgmt->sa);
2360 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
2367 if (mgmt->u.action.category != WLAN_ACTION_PUBLIC &&
2371 MAC2STR(mgmt->sa), mgmt->u.action.category);
2377 !(mgmt->frame_control & host_to_le16(WLAN_FC_ISWEP)) &&
2378 robust_action_frame(mgmt->u.action.category)) {
2379 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
2388 u16 fc = le_to_host16(mgmt->frame_control);
2389 u16 seq_ctrl = le_to_host16(mgmt->seq_ctrl);
2407 switch (mgmt->u.action.category) {
2411 wpa_ft_action_rx(sta->wpa_sm, (u8 *) &mgmt->u.action,
2417 hostapd_wmm_action(hapd, mgmt, len);
2421 return hostapd_sa_query_action(hapd, mgmt, len);
2425 ieee802_11_rx_wnm_action_ap(hapd, mgmt, len);
2431 fst_rx_action(hapd->iface->fst, mgmt, len);
2441 mgmt->u.action.u.public_action.action ==
2444 "HT20/40 coex mgmt frame received from STA "
2445 MACSTR, MAC2STR(mgmt->sa));
2446 hostapd_2040_coex_action(hapd, mgmt, len);
2451 (u8 *) mgmt, len,
2456 (u8 *) mgmt, len,
2465 (u8 *) mgmt, len,
2472 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
2476 mgmt->u.action.category);
2477 if (!(mgmt->da[0] & 0x01) && !(mgmt->u.action.category & 0x80) &&
2478 !(mgmt->sa[0] & 0x01)) {
2491 os_memcpy(resp, mgmt, len);
2524 struct ieee80211_mgmt *mgmt;
2532 mgmt = (struct ieee80211_mgmt *) buf;
2533 fc = le_to_host16(mgmt->frame_control);
2537 handle_beacon(hapd, mgmt, len, fi);
2541 broadcast = mgmt->bssid[0] == 0xff && mgmt->bssid[1] == 0xff &&
2542 mgmt->bssid[2] == 0xff && mgmt->bssid[3] == 0xff &&
2543 mgmt->bssid[4] == 0xff && mgmt->bssid[5] == 0xff;
2554 os_memcmp(mgmt->bssid, hapd->own_addr, ETH_ALEN) != 0) {
2556 MAC2STR(mgmt->bssid));
2562 handle_probe_req(hapd, mgmt, len, fi->ssi_signal);
2566 if (os_memcmp(mgmt->da, hapd->own_addr, ETH_ALEN) != 0) {
2567 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
2570 MAC2STR(mgmt->da));
2575 sta_track_add(hapd->iface, mgmt->sa);
2579 wpa_printf(MSG_DEBUG, "mgmt::auth");
2580 handle_auth(hapd, mgmt, len);
2584 wpa_printf(MSG_DEBUG, "mgmt::assoc_req");
2585 handle_assoc(hapd, mgmt, len, 0);
2589 wpa_printf(MSG_DEBUG, "mgmt::reassoc_req");
2590 handle_assoc(hapd, mgmt, len, 1);
2594 wpa_printf(MSG_DEBUG, "mgmt::disassoc");
2595 handle_disassoc(hapd, mgmt, len);
2599 wpa_msg(hapd->msg_ctx, MSG_DEBUG, "mgmt::deauth");
2600 handle_deauth(hapd, mgmt, len);
2604 wpa_printf(MSG_DEBUG, "mgmt::action");
2605 ret = handle_action(hapd, mgmt, len);
2608 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
2610 "unknown mgmt frame subtype %d", stype);
2619 const struct ieee80211_mgmt *mgmt,
2625 sta = ap_get_sta(hapd, mgmt->da);
2628 MAC2STR(mgmt->da));
2632 auth_alg = le_to_host16(mgmt->u.auth.auth_alg);
2633 auth_transaction = le_to_host16(mgmt->u.auth.auth_transaction);
2634 status_code = le_to_host16(mgmt->u.auth.status_code);
2637 hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211,
2643 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.auth)) {
2693 const struct ieee80211_mgmt *mgmt,
2700 sta = ap_get_sta(hapd, mgmt->da);
2703 MAC2STR(mgmt->da));
2707 if (len < IEEE80211_HDRLEN + (reassoc ? sizeof(mgmt->u.reassoc_resp) :
2708 sizeof(mgmt->u.assoc_resp))) {
2717 status = le_to_host16(mgmt->u.reassoc_resp.status_code);
2719 status = le_to_host16(mgmt->u.assoc_resp.status_code);
2722 hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211,
2810 hapd, mgmt->da,
2822 const struct ieee80211_mgmt *mgmt,
2826 if (mgmt->da[0] & 0x01)
2828 sta = ap_get_sta(hapd, mgmt->da);
2831 " not found", MAC2STR(mgmt->da));
2846 const struct ieee80211_mgmt *mgmt,
2850 if (mgmt->da[0] & 0x01)
2852 sta = ap_get_sta(hapd, mgmt->da);
2855 " not found", MAC2STR(mgmt->da));
2881 const struct ieee80211_mgmt *mgmt;
2882 mgmt = (const struct ieee80211_mgmt *) buf;
2894 wpa_printf(MSG_DEBUG, "mgmt::auth cb");
2895 handle_auth_cb(hapd, mgmt, len, ok);
2898 wpa_printf(MSG_DEBUG, "mgmt::assoc_resp cb");
2899 handle_assoc_cb(hapd, mgmt, len, 0, ok);
2902 wpa_printf(MSG_DEBUG, "mgmt::reassoc_resp cb");
2903 handle_assoc_cb(hapd, mgmt, len, 1, ok);
2906 wpa_printf(MSG_EXCESSIVE, "mgmt::proberesp cb ok=%d", ok);
2909 wpa_printf(MSG_DEBUG, "mgmt::deauth cb");
2910 handle_deauth_cb(hapd, mgmt, len, ok);
2913 wpa_printf(MSG_DEBUG, "mgmt::disassoc cb");
2914 handle_disassoc_cb(hapd, mgmt, len, ok);
2917 wpa_printf(MSG_DEBUG, "mgmt::action cb ok=%d", ok);
2920 wpa_printf(MSG_INFO, "unknown mgmt cb frame subtype %d", stype);