mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-02-06 12:14:04 -05:00
nl80211: Allow TX status for Authentication frames
To support PASN authentication flow, where Authentication frames are sent by wpa_supplicant using the send_mlme() callback, modify the logic to also send EVENT_TX_STATUS for Authentication frames. Signed-off-by: Ilan Peer <ilan.peer@intel.com>
This commit is contained in:
parent
c4988e73c0
commit
e8ae97aebe
@ -683,11 +683,16 @@ static void mlme_event_mgmt_tx_status(struct wpa_driver_nl80211_data *drv,
|
|||||||
size_t len, struct nlattr *ack)
|
size_t len, struct nlattr *ack)
|
||||||
{
|
{
|
||||||
union wpa_event_data event;
|
union wpa_event_data event;
|
||||||
const struct ieee80211_hdr *hdr;
|
const struct ieee80211_hdr *hdr = (const struct ieee80211_hdr *) frame;
|
||||||
u16 fc;
|
u16 fc = le_to_host16(hdr->frame_control);
|
||||||
|
|
||||||
wpa_printf(MSG_DEBUG, "nl80211: Frame TX status event");
|
wpa_printf(MSG_DEBUG, "nl80211: Frame TX status event");
|
||||||
if (!is_ap_interface(drv->nlmode)) {
|
|
||||||
|
if (WLAN_FC_GET_TYPE(fc) != WLAN_FC_TYPE_MGMT)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!is_ap_interface(drv->nlmode) &&
|
||||||
|
WLAN_FC_GET_STYPE(fc) == WLAN_FC_STYPE_ACTION) {
|
||||||
u64 cookie_val;
|
u64 cookie_val;
|
||||||
|
|
||||||
if (!cookie)
|
if (!cookie)
|
||||||
@ -701,11 +706,13 @@ static void mlme_event_mgmt_tx_status(struct wpa_driver_nl80211_data *drv,
|
|||||||
" (match)" : " (unknown)", ack != NULL);
|
" (match)" : " (unknown)", ack != NULL);
|
||||||
if (cookie_val != drv->send_frame_cookie)
|
if (cookie_val != drv->send_frame_cookie)
|
||||||
return;
|
return;
|
||||||
|
} else if (!is_ap_interface(drv->nlmode) &&
|
||||||
|
WLAN_FC_GET_STYPE(fc) == WLAN_FC_STYPE_AUTH) {
|
||||||
|
wpa_printf(MSG_DEBUG,
|
||||||
|
"nl80211: Authentication frame TX status: ack=%d",
|
||||||
|
!!ack);
|
||||||
}
|
}
|
||||||
|
|
||||||
hdr = (const struct ieee80211_hdr *) frame;
|
|
||||||
fc = le_to_host16(hdr->frame_control);
|
|
||||||
|
|
||||||
os_memset(&event, 0, sizeof(event));
|
os_memset(&event, 0, sizeof(event));
|
||||||
event.tx_status.type = WLAN_FC_GET_TYPE(fc);
|
event.tx_status.type = WLAN_FC_GET_TYPE(fc);
|
||||||
event.tx_status.stype = WLAN_FC_GET_STYPE(fc);
|
event.tx_status.stype = WLAN_FC_GET_STYPE(fc);
|
||||||
|
Loading…
Reference in New Issue
Block a user