From af220315e6378bdea6933e26e87773d532b74c97 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 12 Jan 2013 17:01:54 +0200 Subject: [PATCH] Fix EAPOL frame sending to non-QoS STAs Commit 4378fc14ebfb355705e7674bf347ea659bcd77bc started using QoS Data frames for QoS STAs. It used the correct flags value for WPA/RSN EAPOL-Key frames, but wrong flags for IEEE 802.1X EAPOL frames. The WPA_STA_WMM value used in driver_nl80211.c happens to be identical to WLAN_STA_ASSOC in sta->flags and this makes driver_nl80211.c try to use QoS header for all STAs. Fix this by properly converting the flags from WLAN_STA_* to WPA_STA_*. [Bug 426] Signed-hostap: Jouni Malinen --- src/ap/ieee802_1x.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ap/ieee802_1x.c b/src/ap/ieee802_1x.c index 3098d74ba..d9c21a8b8 100644 --- a/src/ap/ieee802_1x.c +++ b/src/ap/ieee802_1x.c @@ -66,8 +66,9 @@ static void ieee802_1x_send(struct hostapd_data *hapd, struct sta_info *sta, if (sta->flags & WLAN_STA_PREAUTH) { rsn_preauth_send(hapd, sta, buf, len); } else { - hostapd_drv_hapd_send_eapol(hapd, sta->addr, buf, len, - encrypt, sta->flags); + hostapd_drv_hapd_send_eapol( + hapd, sta->addr, buf, len, + encrypt, hostapd_sta_flags_to_drv(sta->flags)); } os_free(buf);