aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/hostapd/patches/600-ubus_support.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2021-11-24 17:02:26 +0100
committerFelix Fietkau <nbd@nbd.name>2021-11-24 18:26:47 +0100
commitf84053af5c0b0a159ea4d3e90b0c06574b4fde8d (patch)
treea3936b7a71b48038525137b690ecf2a1dcb58d4f /package/network/services/hostapd/patches/600-ubus_support.patch
parentd439c7d85a05c3548e5566bec292292a4f6b7ef5 (diff)
downloadupstream-f84053af5c0b0a159ea4d3e90b0c06574b4fde8d.tar.gz
upstream-f84053af5c0b0a159ea4d3e90b0c06574b4fde8d.tar.bz2
upstream-f84053af5c0b0a159ea4d3e90b0c06574b4fde8d.zip
hostapd: add a patch that allows processing auth requests for peers 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>
Diffstat (limited to 'package/network/services/hostapd/patches/600-ubus_support.patch')
-rw-r--r--package/network/services/hostapd/patches/600-ubus_support.patch10
1 files changed, 5 insertions, 5 deletions
diff --git a/package/network/services/hostapd/patches/600-ubus_support.patch b/package/network/services/hostapd/patches/600-ubus_support.patch
index b7f156bceb..358c53167a 100644
--- a/package/network/services/hostapd/patches/600-ubus_support.patch
+++ b/package/network/services/hostapd/patches/600-ubus_support.patch
@@ -126,7 +126,7 @@
if (res == HOSTAPD_ACL_PENDING)
return;
-@@ -5454,7 +5466,7 @@ static void handle_assoc(struct hostapd_
+@@ -5445,7 +5457,7 @@ static void handle_assoc(struct hostapd_
int resp = WLAN_STATUS_SUCCESS;
u16 reply_res = WLAN_STATUS_UNSPECIFIED_FAILURE;
const u8 *pos;
@@ -135,7 +135,7 @@
struct sta_info *sta;
u8 *tmp = NULL;
#ifdef CONFIG_FILS
-@@ -5667,6 +5679,11 @@ static void handle_assoc(struct hostapd_
+@@ -5658,6 +5670,11 @@ static void handle_assoc(struct hostapd_
left = res;
}
#endif /* CONFIG_FILS */
@@ -147,7 +147,7 @@
/* followed by SSID and Supported rates; and HT capabilities if 802.11n
* is used */
-@@ -5765,6 +5782,13 @@ static void handle_assoc(struct hostapd_
+@@ -5756,6 +5773,13 @@ static void handle_assoc(struct hostapd_
}
#endif /* CONFIG_FILS */
@@ -161,7 +161,7 @@
fail:
/*
-@@ -5858,6 +5882,7 @@ static void handle_disassoc(struct hosta
+@@ -5849,6 +5873,7 @@ static void handle_disassoc(struct hosta
wpa_printf(MSG_DEBUG, "disassocation: STA=" MACSTR " reason_code=%d",
MAC2STR(mgmt->sa),
le_to_host16(mgmt->u.disassoc.reason_code));
@@ -169,7 +169,7 @@
sta = ap_get_sta(hapd, mgmt->sa);
if (sta == NULL) {
-@@ -5927,6 +5952,8 @@ static void handle_deauth(struct hostapd
+@@ -5918,6 +5943,8 @@ static void handle_deauth(struct hostapd
/* Clear the PTKSA cache entries for PASN */
ptksa_cache_flush(hapd->ptksa, mgmt->sa, WPA_CIPHER_NONE);