]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Fix wired EAPOL authenticator
authorJouni Malinen <j@w1.fi>
Sun, 20 Nov 2011 10:42:47 +0000 (12:42 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 20 Nov 2011 10:42:47 +0000 (12:42 +0200)
Commit 940a0ce9702095bb079bd97857a2605516f83157 moved the STA associated
check from driver_*.c into ieee802_1x_receive(), but failed to take into
account that wired networks and driver_wired.c do not mark the STA entry
associated. Fix this by skipping the check if the driver wrapper is
using a wired network.

Signed-hostap: Jouni Malinen <j@w1.fi>

src/ap/ieee802_1x.c

index 0cf7f2c58a2cddd11ec14ccc8a9ac5e4229f64c6..18ee747441a76f24d42a5cdcc7cb0fe2d36e4282 100644 (file)
@@ -682,7 +682,8 @@ void ieee802_1x_receive(struct hostapd_data *hapd, const u8 *sa, const u8 *buf,
        wpa_printf(MSG_DEBUG, "IEEE 802.1X: %lu bytes from " MACSTR,
                   (unsigned long) len, MAC2STR(sa));
        sta = ap_get_sta(hapd, sa);
-       if (!sta || !(sta->flags & (WLAN_STA_ASSOC | WLAN_STA_PREAUTH))) {
+       if (!sta || (!(sta->flags & (WLAN_STA_ASSOC | WLAN_STA_PREAUTH)) &&
+                    !(hapd->iface->drv_flags & WPA_DRIVER_FLAGS_WIRED))) {
                wpa_printf(MSG_DEBUG, "IEEE 802.1X data frame from not "
                           "associated/Pre-authenticating STA");
                return;