2
0

040-mesh-allow-processing-authentication-frames-in-block.patch 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. From: Felix Fietkau <[email protected]>
  2. Date: Mon, 18 Feb 2019 12:57:11 +0100
  3. Subject: [PATCH] mesh: allow processing authentication frames in blocked state
  4. If authentication fails repeatedly e.g. because of a weak signal, the link
  5. can end up in blocked state. If one of the nodes tries to establish a link
  6. again before it is unblocked on the other side, it will block the link to
  7. that other side. The same happens on the other side when it unblocks the
  8. link. In that scenario, the link never recovers on its own.
  9. To fix this, allow restarting authentication even if the link is in blocked
  10. state, but don't initiate the attempt until the blocked period is over.
  11. Signed-off-by: Felix Fietkau <[email protected]>
  12. ---
  13. --- a/src/ap/ieee802_11.c
  14. +++ b/src/ap/ieee802_11.c
  15. @@ -3761,15 +3761,6 @@ static void handle_auth(struct hostapd_d
  16. seq_ctrl);
  17. return;
  18. }
  19. -#ifdef CONFIG_MESH
  20. - if ((hapd->conf->mesh & MESH_ENABLED) &&
  21. - sta->plink_state == PLINK_BLOCKED) {
  22. - wpa_printf(MSG_DEBUG, "Mesh peer " MACSTR
  23. - " is blocked - drop Authentication frame",
  24. - MAC2STR(mgmt->sa));
  25. - return;
  26. - }
  27. -#endif /* CONFIG_MESH */
  28. #ifdef CONFIG_PASN
  29. if (auth_alg == WLAN_AUTH_PASN &&
  30. (sta->flags & WLAN_STA_ASSOC)) {