hostapd: add a WDS AP fix for reconnecting clients
authorFelix Fietkau <nbd@nbd.name>
Wed, 6 Jul 2016 06:06:46 +0000 (08:06 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 6 Jul 2016 08:12:37 +0000 (10:12 +0200)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/network/services/hostapd/patches/001-4addr-fix-reconnecting-client-on-connection-lost.patch [new file with mode: 0644]

diff --git a/package/network/services/hostapd/patches/001-4addr-fix-reconnecting-client-on-connection-lost.patch b/package/network/services/hostapd/patches/001-4addr-fix-reconnecting-client-on-connection-lost.patch
new file mode 100644 (file)
index 0000000..5c8b662
--- /dev/null
@@ -0,0 +1,25 @@
+From: Matthias May <matthias.may@neratec.com>
+Date: Tue, 5 Jul 2016 15:00:43 +0200
+Subject: [PATCH] 4addr: fix reconnecting client on connection lost
+
+When a 4addr client suddenly looses its connection (no deauth/deassoc)
+the AP still thinks it is connected.
+If the client reconnects before the AP timeoutes the client, traffic
+cannot flow.
+
+Fix this by making sure the WLAN_STA_WDS flag is unset in the sta->flags
+when the client completes association.
+
+Signed-off-by: Matthias May <matthias.may@neratec.com>
+---
+
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -2826,6 +2826,7 @@ static void handle_assoc_cb(struct hosta
+               new_assoc = 0;
+       sta->flags |= WLAN_STA_ASSOC;
+       sta->flags &= ~WLAN_STA_WNM_SLEEP_MODE;
++      sta->flags &= ~WLAN_STA_WDS;
+       if ((!hapd->conf->ieee802_1x && !hapd->conf->wpa && !hapd->conf->osen) ||
+           sta->auth_alg == WLAN_AUTH_FT) {
+               /*