aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/hostapd
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-07-06 08:06:46 +0200
committerFelix Fietkau <nbd@nbd.name>2016-07-06 10:12:37 +0200
commitad430c1080fa2096d02b054115bd806af4906aea (patch)
tree03e7ee01627506e32227aec81e795da945f8a6df /package/network/services/hostapd
parent5b728074160bb1db064737baf95945ae2e972549 (diff)
downloadupstream-ad430c1080fa2096d02b054115bd806af4906aea.tar.gz
upstream-ad430c1080fa2096d02b054115bd806af4906aea.tar.bz2
upstream-ad430c1080fa2096d02b054115bd806af4906aea.zip
hostapd: add a WDS AP fix for reconnecting clients
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/network/services/hostapd')
-rw-r--r--package/network/services/hostapd/patches/001-4addr-fix-reconnecting-client-on-connection-lost.patch25
1 files changed, 25 insertions, 0 deletions
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
index 0000000000..5c8b6622c9
--- /dev/null
+++ b/package/network/services/hostapd/patches/001-4addr-fix-reconnecting-client-on-connection-lost.patch
@@ -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) {
+ /*