]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Fix EAPOL frame sending to non-QoS STAs
authorJouni Malinen <j@w1.fi>
Sat, 12 Jan 2013 15:01:54 +0000 (17:01 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 12 Jan 2013 15:01:54 +0000 (17:01 +0200)
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 <j@w1.fi>

src/ap/ieee802_1x.c

index 3098d74ba71084ea8f1f9bd02faf980128a0038c..d9c21a8b8117fb1c9edbeb1027bf3d669f5d88ea 100644 (file)
@@ -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);