Lines Matching defs:mgmt
300 const struct ieee80211_mgmt *mgmt, size_t len)
317 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.auth)) {
323 auth_alg = le_to_host16(mgmt->u.auth.auth_alg);
324 auth_transaction = le_to_host16(mgmt->u.auth.auth_transaction);
325 status_code = le_to_host16(mgmt->u.auth.status_code);
326 fc = le_to_host16(mgmt->frame_control);
328 if (len >= IEEE80211_HDRLEN + sizeof(mgmt->u.auth) +
330 mgmt->u.auth.variable[0] == WLAN_EID_CHALLENGE &&
331 mgmt->u.auth.variable[1] == WLAN_AUTH_CHALLENGE_LEN)
332 challenge = &mgmt->u.auth.variable[2];
336 MAC2STR(mgmt->sa), auth_alg, auth_transaction,
367 if (os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) {
369 MAC2STR(mgmt->sa));
374 res = hostapd_allowed_address(hapd, mgmt->sa, (u8 *) mgmt, len,
381 MAC2STR(mgmt->sa));
388 MAC2STR(mgmt->sa));
395 sta = ap_sta_add(hapd, mgmt->sa);
481 wpa_ft_process_auth(sta->wpa_sm, mgmt->bssid,
482 auth_transaction, mgmt->u.auth.variable,
484 sizeof(mgmt->u.auth),
495 send_auth_reply(hapd, mgmt->sa, mgmt->bssid, auth_alg,
949 const struct ieee80211_mgmt *mgmt, size_t len,
958 if (len < IEEE80211_HDRLEN + (reassoc ? sizeof(mgmt->u.reassoc_req) :
959 sizeof(mgmt->u.assoc_req))) {
966 capab_info = le_to_host16(mgmt->u.reassoc_req.capab_info);
968 mgmt->u.reassoc_req.listen_interval);
972 MAC2STR(mgmt->sa), capab_info, listen_interval,
973 MAC2STR(mgmt->u.reassoc_req.current_ap));
974 left = len - (IEEE80211_HDRLEN + sizeof(mgmt->u.reassoc_req));
975 pos = mgmt->u.reassoc_req.variable;
977 capab_info = le_to_host16(mgmt->u.assoc_req.capab_info);
979 mgmt->u.assoc_req.listen_interval);
982 MAC2STR(mgmt->sa), capab_info, listen_interval);
983 left = len - (IEEE80211_HDRLEN + sizeof(mgmt->u.assoc_req));
984 pos = mgmt->u.assoc_req.variable;
987 sta = ap_get_sta(hapd, mgmt->sa);
993 "over-the-DS FT", MAC2STR(mgmt->sa));
997 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1003 send_deauth(hapd, mgmt->sa,
1014 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1029 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1102 os_memcpy(sta->previous_ap, mgmt->u.reassoc_req.current_ap,
1110 os_memcpy(sta->last_assoc_req, mgmt, len);
1122 const struct ieee80211_mgmt *mgmt, size_t len)
1126 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.disassoc)) {
1133 MAC2STR(mgmt->sa),
1134 le_to_host16(mgmt->u.disassoc.reason_code));
1136 sta = ap_get_sta(hapd, mgmt->sa);
1139 "is not associated.\n", MAC2STR(mgmt->sa));
1165 hapd, sta, le_to_host16(mgmt->u.disassoc.reason_code));
1170 const struct ieee80211_mgmt *mgmt, size_t len)
1174 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.deauth)) {
1182 MAC2STR(mgmt->sa), le_to_host16(mgmt->u.deauth.reason_code));
1184 sta = ap_get_sta(hapd, mgmt->sa);
1188 MAC2STR(mgmt->sa));
1199 hapd, sta, le_to_host16(mgmt->u.deauth.reason_code));
1207 const struct ieee80211_mgmt *mgmt, size_t len,
1212 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.beacon)) {
1218 (void) ieee802_11_parse_elems(mgmt->u.beacon.variable,
1220 sizeof(mgmt->u.beacon)), &elems,
1223 ap_list_process_beacon(hapd->iface, mgmt, &elems, fi);
1230 const struct ieee80211_mgmt *mgmt,
1235 end = mgmt->u.action.u.sa_query_resp.trans_id +
1237 if (((u8 *) mgmt) + len < end) {
1243 ieee802_11_sa_query_action(hapd, mgmt->sa,
1244 mgmt->u.action.u.sa_query_resp.action,
1245 mgmt->u.action.u.sa_query_resp.trans_id);
1258 const struct ieee80211_mgmt *mgmt, size_t len)
1262 sta = ap_get_sta(hapd, mgmt->sa);
1266 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1275 !(mgmt->frame_control & host_to_le16(WLAN_FC_ISWEP) &&
1276 robust_action_frame(mgmt->u.action.category))) {
1277 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1285 switch (mgmt->u.action.category) {
1292 MAC2STR(mgmt->sa));
1296 if (wpa_ft_action_rx(sta->wpa_sm, (u8 *) &mgmt->u.action,
1304 hostapd_wmm_action(hapd, mgmt, len);
1308 hostapd_sa_query_action(hapd, mgmt, len);
1314 (u8 *) mgmt, len,
1322 (u8 *) mgmt, len,
1329 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1333 mgmt->u.action.category);
1334 if (!(mgmt->da[0] & 0x01) && !(mgmt->u.action.category & 0x80) &&
1335 !(mgmt->sa[0] & 0x01)) {
1348 os_memcpy(resp, mgmt, len);
1379 struct ieee80211_mgmt *mgmt;
1386 mgmt = (struct ieee80211_mgmt *) buf;
1387 fc = le_to_host16(mgmt->frame_control);
1391 handle_beacon(hapd, mgmt, len, fi);
1395 broadcast = mgmt->bssid[0] == 0xff && mgmt->bssid[1] == 0xff &&
1396 mgmt->bssid[2] == 0xff && mgmt->bssid[3] == 0xff &&
1397 mgmt->bssid[4] == 0xff && mgmt->bssid[5] == 0xff;
1405 os_memcmp(mgmt->bssid, hapd->own_addr, ETH_ALEN) != 0) {
1406 printf("MGMT: BSSID=" MACSTR " not our address\n",
1407 MAC2STR(mgmt->bssid));
1413 handle_probe_req(hapd, mgmt, len, fi->ssi_signal);
1417 if (os_memcmp(mgmt->da, hapd->own_addr, ETH_ALEN) != 0) {
1418 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1420 "MGMT: DA=" MACSTR " not our address",
1421 MAC2STR(mgmt->da));
1427 wpa_printf(MSG_DEBUG, "mgmt::auth");
1428 handle_auth(hapd, mgmt, len);
1431 wpa_printf(MSG_DEBUG, "mgmt::assoc_req");
1432 handle_assoc(hapd, mgmt, len, 0);
1435 wpa_printf(MSG_DEBUG, "mgmt::reassoc_req");
1436 handle_assoc(hapd, mgmt, len, 1);
1439 wpa_printf(MSG_DEBUG, "mgmt::disassoc");
1440 handle_disassoc(hapd, mgmt, len);
1443 wpa_msg(hapd->msg_ctx, MSG_DEBUG, "mgmt::deauth");
1444 handle_deauth(hapd, mgmt, len);
1447 wpa_printf(MSG_DEBUG, "mgmt::action");
1448 handle_action(hapd, mgmt, len);
1451 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1453 "unknown mgmt frame subtype %d", stype);
1460 const struct ieee80211_mgmt *mgmt,
1467 hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211,
1473 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.auth)) {
1479 auth_alg = le_to_host16(mgmt->u.auth.auth_alg);
1480 auth_transaction = le_to_host16(mgmt->u.auth.auth_transaction);
1481 status_code = le_to_host16(mgmt->u.auth.status_code);
1483 sta = ap_get_sta(hapd, mgmt->da);
1486 MAC2STR(mgmt->da));
1501 const struct ieee80211_mgmt *mgmt,
1509 if (len < IEEE80211_HDRLEN + (reassoc ? sizeof(mgmt->u.reassoc_resp) :
1510 sizeof(mgmt->u.assoc_resp))) {
1516 sta = ap_get_sta(hapd, mgmt->da);
1519 MAC2STR(mgmt->da));
1524 hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211,
1532 status = le_to_host16(mgmt->u.reassoc_resp.status_code);
1534 status = le_to_host16(mgmt->u.assoc_resp.status_code);
1633 const struct ieee80211_mgmt *mgmt,
1637 if (mgmt->da[0] & 0x01)
1639 sta = ap_get_sta(hapd, mgmt->da);
1642 " not found", MAC2STR(mgmt->da));
1657 const struct ieee80211_mgmt *mgmt,
1661 if (mgmt->da[0] & 0x01)
1663 sta = ap_get_sta(hapd, mgmt->da);
1666 " not found", MAC2STR(mgmt->da));
1692 const struct ieee80211_mgmt *mgmt;
1693 mgmt = (const struct ieee80211_mgmt *) buf;
1697 wpa_printf(MSG_DEBUG, "mgmt::auth cb");
1698 handle_auth_cb(hapd, mgmt, len, ok);
1701 wpa_printf(MSG_DEBUG, "mgmt::assoc_resp cb");
1702 handle_assoc_cb(hapd, mgmt, len, 0, ok);
1705 wpa_printf(MSG_DEBUG, "mgmt::reassoc_resp cb");
1706 handle_assoc_cb(hapd, mgmt, len, 1, ok);
1709 wpa_printf(MSG_EXCESSIVE, "mgmt::proberesp cb");
1712 wpa_printf(MSG_DEBUG, "mgmt::deauth cb");
1713 handle_deauth_cb(hapd, mgmt, len, ok);
1716 wpa_printf(MSG_DEBUG, "mgmt::disassoc cb");
1717 handle_disassoc_cb(hapd, mgmt, len, ok);
1720 wpa_printf(MSG_DEBUG, "mgmt::action cb");
1723 printf("unknown mgmt cb frame subtype %d\n", stype);