12345678910111213141516171819202122232425262728293031323334 |
- From: Felix Fietkau <[email protected]>
- 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 <[email protected]>
- ---
- --- 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)) {
|