Home | History | Annotate | Download | only in ap

Lines Matching refs:mgmt

300 			const struct ieee80211_mgmt *mgmt, size_t len)
315 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.auth)) {
321 auth_alg = le_to_host16(mgmt->u.auth.auth_alg);
322 auth_transaction = le_to_host16(mgmt->u.auth.auth_transaction);
323 status_code = le_to_host16(mgmt->u.auth.status_code);
324 fc = le_to_host16(mgmt->frame_control);
326 if (len >= IEEE80211_HDRLEN + sizeof(mgmt->u.auth) +
328 mgmt->u.auth.variable[0] == WLAN_EID_CHALLENGE &&
329 mgmt->u.auth.variable[1] == WLAN_AUTH_CHALLENGE_LEN)
330 challenge = &mgmt->u.auth.variable[2];
334 MAC2STR(mgmt->sa), auth_alg, auth_transaction,
365 if (os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) {
367 MAC2STR(mgmt->sa));
372 res = hostapd_allowed_address(hapd, mgmt->sa, (u8 *) mgmt, len,
379 MAC2STR(mgmt->sa));
386 MAC2STR(mgmt->sa));
393 sta = ap_sta_add(hapd, mgmt->sa);
474 wpa_ft_process_auth(sta->wpa_sm, mgmt->bssid,
475 auth_transaction, mgmt->u.auth.variable,
477 sizeof(mgmt->u.auth),
485 send_auth_reply(hapd, mgmt->sa, mgmt->bssid, auth_alg,
934 const struct ieee80211_mgmt *mgmt, size_t len,
943 if (len < IEEE80211_HDRLEN + (reassoc ? sizeof(mgmt->u.reassoc_req) :
944 sizeof(mgmt->u.assoc_req))) {
951 capab_info = le_to_host16(mgmt->u.reassoc_req.capab_info);
953 mgmt->u.reassoc_req.listen_interval);
957 MAC2STR(mgmt->sa), capab_info, listen_interval,
958 MAC2STR(mgmt->u.reassoc_req.current_ap));
959 left = len - (IEEE80211_HDRLEN + sizeof(mgmt->u.reassoc_req));
960 pos = mgmt->u.reassoc_req.variable;
962 capab_info = le_to_host16(mgmt->u.assoc_req.capab_info);
964 mgmt->u.assoc_req.listen_interval);
967 MAC2STR(mgmt->sa), capab_info, listen_interval);
968 left = len - (IEEE80211_HDRLEN + sizeof(mgmt->u.assoc_req));
969 pos = mgmt->u.assoc_req.variable;
972 sta = ap_get_sta(hapd, mgmt->sa);
978 "over-the-DS FT", MAC2STR(mgmt->sa));
982 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
988 send_deauth(hapd, mgmt->sa,
999 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1014 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1087 os_memcpy(sta->previous_ap, mgmt->u.reassoc_req.current_ap,
1095 os_memcpy(sta->last_assoc_req, mgmt, len);
1107 const struct ieee80211_mgmt *mgmt, size_t len)
1111 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.disassoc)) {
1118 MAC2STR(mgmt->sa),
1119 le_to_host16(mgmt->u.disassoc.reason_code));
1121 sta = ap_get_sta(hapd, mgmt->sa);
1124 "is not associated.\n", MAC2STR(mgmt->sa));
1150 hapd, sta, le_to_host16(mgmt->u.disassoc.reason_code));
1155 const struct ieee80211_mgmt *mgmt, size_t len)
1159 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.deauth)) {
1167 MAC2STR(mgmt->sa), le_to_host16(mgmt->u.deauth.reason_code));
1169 sta = ap_get_sta(hapd, mgmt->sa);
1173 MAC2STR(mgmt->sa));
1184 hapd, sta, le_to_host16(mgmt->u.deauth.reason_code));
1192 const struct ieee80211_mgmt *mgmt, size_t len,
1197 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.beacon)) {
1203 (void) ieee802_11_parse_elems(mgmt->u.beacon.variable,
1205 sizeof(mgmt->u.beacon)), &elems,
1208 ap_list_process_beacon(hapd->iface, mgmt, &elems, fi);
1215 const struct ieee80211_mgmt *mgmt,
1220 end = mgmt->u.action.u.sa_query_resp.trans_id +
1222 if (((u8 *) mgmt) + len < end) {
1228 ieee802_11_sa_query_action(hapd, mgmt->sa,
1229 mgmt->u.action.u.sa_query_resp.action,
1230 mgmt->u.action.u.sa_query_resp.trans_id);
1243 const struct ieee80211_mgmt *mgmt, size_t len)
1247 sta = ap_get_sta(hapd, mgmt->sa);
1251 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1260 !(mgmt->frame_control & host_to_le16(WLAN_FC_ISWEP) &&
1261 robust_action_frame(mgmt->u.action.category))) {
1262 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1270 switch (mgmt->u.action.category) {
1277 MAC2STR(mgmt->sa));
1281 if (wpa_ft_action_rx(sta->wpa_sm, (u8 *) &mgmt->u.action,
1289 hostapd_wmm_action(hapd, mgmt, len);
1293 hostapd_sa_query_action(hapd, mgmt, len);
1299 (u8 *) mgmt, len,
1307 (u8 *) mgmt, len,
1314 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1318 mgmt->u.action.category);
1319 if (!(mgmt->da[0] & 0x01) && !(mgmt->u.action.category & 0x80) &&
1320 !(mgmt->sa[0] & 0x01)) {
1333 os_memcpy(resp, mgmt, len);
1361 struct ieee80211_mgmt *mgmt;
1368 mgmt = (struct ieee80211_mgmt *) buf;
1369 fc = le_to_host16(mgmt->frame_control);
1373 handle_beacon(hapd, mgmt, len, fi);
1377 broadcast = mgmt->bssid[0] == 0xff && mgmt->bssid[1] == 0xff &&
1378 mgmt->bssid[2] == 0xff && mgmt->bssid[3] == 0xff &&
1379 mgmt->bssid[4] == 0xff && mgmt->bssid[5] == 0xff;
1387 os_memcmp(mgmt->bssid, hapd->own_addr, ETH_ALEN) != 0) {
1388 printf("MGMT: BSSID=" MACSTR " not our address\n",
1389 MAC2STR(mgmt->bssid));
1395 handle_probe_req(hapd, mgmt, len);
1399 if (os_memcmp(mgmt->da, hapd->own_addr, ETH_ALEN) != 0) {
1400 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1402 "MGMT: DA=" MACSTR " not our address",
1403 MAC2STR(mgmt->da));
1409 wpa_printf(MSG_DEBUG, "mgmt::auth");
1410 handle_auth(hapd, mgmt, len);
1413 wpa_printf(MSG_DEBUG, "mgmt::assoc_req");
1414 handle_assoc(hapd, mgmt, len, 0);
1417 wpa_printf(MSG_DEBUG, "mgmt::reassoc_req");
1418 handle_assoc(hapd, mgmt, len, 1);
1421 wpa_printf(MSG_DEBUG, "mgmt::disassoc");
1422 handle_disassoc(hapd, mgmt, len);
1425 wpa_msg(hapd->msg_ctx, MSG_DEBUG, "mgmt::deauth");
1426 handle_deauth(hapd, mgmt, len);
1429 wpa_printf(MSG_DEBUG, "mgmt::action");
1430 handle_action(hapd, mgmt, len);
1433 hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
1435 "unknown mgmt frame subtype %d", stype);
1442 const struct ieee80211_mgmt *mgmt,
1449 hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211,
1455 if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.auth)) {
1461 auth_alg = le_to_host16(mgmt->u.auth.auth_alg);
1462 auth_transaction = le_to_host16(mgmt->u.auth.auth_transaction);
1463 status_code = le_to_host16(mgmt->u.auth.status_code);
1465 sta = ap_get_sta(hapd, mgmt->da);
1468 MAC2STR(mgmt->da));
1483 const struct ieee80211_mgmt *mgmt,
1492 hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211,
1498 if (len < IEEE80211_HDRLEN + (reassoc ? sizeof(mgmt->u.reassoc_resp) :
1499 sizeof(mgmt->u.assoc_resp))) {
1506 status = le_to_host16(mgmt->u.reassoc_resp.status_code);
1508 status = le_to_host16(mgmt->u.assoc_resp.status_code);
1510 sta = ap_get_sta(hapd, mgmt->da);
1513 MAC2STR(mgmt->da));
1614 const struct ieee80211_mgmt *mgmt,
1618 if (mgmt->da[0] & 0x01)
1620 sta = ap_get_sta(hapd, mgmt->da);
1623 " not found", MAC2STR(mgmt->da));
1638 const struct ieee80211_mgmt *mgmt,
1642 if (mgmt->da[0] & 0x01)
1644 sta = ap_get_sta(hapd, mgmt->da);
1647 " not found", MAC2STR(mgmt->da));
1673 const struct ieee80211_mgmt *mgmt;
1674 mgmt = (const struct ieee80211_mgmt *) buf;
1678 wpa_printf(MSG_DEBUG, "mgmt::auth cb");
1679 handle_auth_cb(hapd, mgmt, len, ok);
1682 wpa_printf(MSG_DEBUG, "mgmt::assoc_resp cb");
1683 handle_assoc_cb(hapd, mgmt, len, 0, ok);
1686 wpa_printf(MSG_DEBUG, "mgmt::reassoc_resp cb");
1687 handle_assoc_cb(hapd, mgmt, len, 1, ok);
1690 wpa_printf(MSG_EXCESSIVE, "mgmt::proberesp cb");
1693 wpa_printf(MSG_DEBUG, "mgmt::deauth cb");
1694 handle_deauth_cb(hapd, mgmt, len, ok);
1697 wpa_printf(MSG_DEBUG, "mgmt::disassoc cb");
1698 handle_disassoc_cb(hapd, mgmt, len, ok);
1701 wpa_printf(MSG_DEBUG, "mgmt::action cb");
1704 printf("unknown mgmt cb frame subtype %d\n", stype);