forked from openwrt/openwrt
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
hostapd: add a patch that allows processing auth requests for peers i…
…n blocked state If authentication fails repeatedly e.g. because of a weak signal, the link can end up in blocked state. If one of the nodes tries to establish a link again before it is unblocked on the other side, it will block the link to that other side. The same happens on the other side when it unblocks the link. In that scenario, the link never recovers on its own. To fix this, allow restarting authentication even if the link is in blocked state, but don't initiate the attempt until the blocked period is over. Signed-off-by: Felix Fietkau <nbd@nbd.name>
- Loading branch information
Showing
3 changed files
with
40 additions
and
6 deletions.
There are no files selected for viewing
34 changes: 34 additions & 0 deletions
34
...k/services/hostapd/patches/040-mesh-allow-processing-authentication-frames-in-block.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
From: Felix Fietkau <nbd@nbd.name> | ||
Date: Mon, 18 Feb 2019 12:57:11 +0100 | ||
Subject: [PATCH] mesh: allow processing authentication frames in blocked state | ||
|
||
If authentication fails repeatedly e.g. because of a weak signal, the link | ||
can end up in blocked state. If one of the nodes tries to establish a link | ||
again before it is unblocked on the other side, it will block the link to | ||
that other side. The same happens on the other side when it unblocks the | ||
link. In that scenario, the link never recovers on its own. | ||
|
||
To fix this, allow restarting authentication even if the link is in blocked | ||
state, but don't initiate the attempt until the blocked period is over. | ||
|
||
Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||
--- | ||
|
||
--- a/src/ap/ieee802_11.c | ||
+++ b/src/ap/ieee802_11.c | ||
@@ -3761,15 +3761,6 @@ static void handle_auth(struct hostapd_d | ||
seq_ctrl); | ||
return; | ||
} | ||
-#ifdef CONFIG_MESH | ||
- if ((hapd->conf->mesh & MESH_ENABLED) && | ||
- sta->plink_state == PLINK_BLOCKED) { | ||
- wpa_printf(MSG_DEBUG, "Mesh peer " MACSTR | ||
- " is blocked - drop Authentication frame", | ||
- MAC2STR(mgmt->sa)); | ||
- return; | ||
- } | ||
-#endif /* CONFIG_MESH */ | ||
#ifdef CONFIG_PASN | ||
if (auth_alg == WLAN_AUTH_PASN && | ||
(sta->flags & WLAN_STA_ASSOC)) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters