hostapd: Update to version 2.8 (2019-04-21)
[openwrt/staging/ynezz.git] / package / network / services / hostapd / patches / 554-multi_ap-don-t-reject-backhaul-STA-on-fronhaul-BSS.patch
diff --git a/package/network/services/hostapd/patches/554-multi_ap-don-t-reject-backhaul-STA-on-fronhaul-BSS.patch b/package/network/services/hostapd/patches/554-multi_ap-don-t-reject-backhaul-STA-on-fronhaul-BSS.patch
deleted file mode 100644 (file)
index 6c30a17..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-From 71b061b8a13791a1ed858d924e401541c8584030 Mon Sep 17 00:00:00 2001
-From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
-Date: Wed, 9 Jan 2019 19:08:00 +0100
-Subject: [PATCH] multi_ap: don't reject backhaul STA on fronhaul BSS
-
-The Multi-AP specification only specifies that information elements have
-to be added to the association requests and responses; it doesn't
-specify anything about what should be done in case they are missing.
-Currently, we reject non-backhaul associations on a backhaul-only BSS,
-and non-fronthaul associations on a fronthaul-only BSS.
-
-However, this makes WPS fail when fronthaul and backhaul are separate
-SSIDs. Indeed, WPS for the backhaul link is performed on the *fronthaul*
-SSID. Thus, the association request used for WPS *will* contain the
-Multi-AP IE indicating a backhaul STA. Rejecting that association makes
-WPS fail.
-
-Therefore, accept a multi-AP backhaul STA association request on a
-fronthaul-only BSS. Still issue a warning about it, but only at level
-DEBUG intead of INFO. Also change the condition checking to make it
-clearer.
-
-While we're at it, also fix the handling of unexpected bits in the
-Multi-AP IE. 4 bits are reserved in the specification, so these
-certainly have to be ignored. The specification also doesn't say that
-setting one of the other bits is not allowed. Therefore, only report
-unexpected values in the Multi-AP IE, don't reject because of it.
-Note that a malformed IE (containing more than one byte) still triggers
-a rejection.
-
-Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
----
-v4: new patch
-
-Cfr. discussion on http://lists.infradead.org/pipermail/hostap/2019-January/039232.html
-and follow-ups.
----
- src/ap/ieee802_11.c          | 38 +++++++++++++++++++-----------------
- tests/hwsim/test_multi_ap.py |  6 ++----
- 2 files changed, 22 insertions(+), 22 deletions(-)
-
---- a/src/ap/ieee802_11.c
-+++ b/src/ap/ieee802_11.c
-@@ -2253,28 +2253,30 @@ static u16 check_multi_ap(struct hostapd
-               }
-       }
--      if (multi_ap_value == MULTI_AP_BACKHAUL_STA)
--              sta->flags |= WLAN_STA_MULTI_AP;
--
--      if ((hapd->conf->multi_ap & BACKHAUL_BSS) &&
--          multi_ap_value == MULTI_AP_BACKHAUL_STA)
--              return WLAN_STATUS_SUCCESS;
--
--      if (hapd->conf->multi_ap & FRONTHAUL_BSS) {
--              if (multi_ap_value == MULTI_AP_BACKHAUL_STA) {
--                      hostapd_logger(hapd, sta->addr,
--                                     HOSTAPD_MODULE_IEEE80211,
--                                     HOSTAPD_LEVEL_INFO,
--                                     "Backhaul STA tries to associate with fronthaul-only BSS");
--                      return WLAN_STATUS_ASSOC_DENIED_UNSPEC;
--              }
--              return WLAN_STATUS_SUCCESS;
-+      if (multi_ap_value && multi_ap_value != MULTI_AP_BACKHAUL_STA)
-+              hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
-+                             HOSTAPD_LEVEL_INFO,
-+                             "Multi-AP IE with unexpected value 0x%02x",
-+                             multi_ap_value);
-+
-+      if (!(multi_ap_value & MULTI_AP_BACKHAUL_STA)) {
-+              if (hapd->conf->multi_ap & FRONTHAUL_BSS)
-+                      return WLAN_STATUS_SUCCESS;
-+
-+              hostapd_logger(hapd, sta->addr,
-+                             HOSTAPD_MODULE_IEEE80211,
-+                             HOSTAPD_LEVEL_INFO,
-+                             "Non-Multi-AP STA tries to associate with backhaul-only BSS");
-+              return WLAN_STATUS_ASSOC_DENIED_UNSPEC;
-       }
--      hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
--                     HOSTAPD_LEVEL_INFO,
--                     "Non-Multi-AP STA tries to associate with backhaul-only BSS");
--      return WLAN_STATUS_ASSOC_DENIED_UNSPEC;
-+      if (!(hapd->conf->multi_ap & BACKHAUL_BSS))
-+              hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
-+                             HOSTAPD_LEVEL_DEBUG,
-+                             "Backhaul STA tries to associate with fronthaul-only BSS");
-+
-+      sta->flags |= WLAN_STA_MULTI_AP;
-+      return WLAN_STATUS_SUCCESS;
- }
---- a/tests/hwsim/test_multi_ap.py
-+++ b/tests/hwsim/test_multi_ap.py
-@@ -59,7 +59,5 @@ def test_multi_ap_fronthaul_on_ap(dev, a
-     dev[0].request("DISCONNECT")
-     if ev is None:
-         raise Exception("Connection result not reported")
--    if "CTRL-EVENT-ASSOC-REJECT" not in ev:
--        raise Exception("Association rejection not reported")
--    if "status_code=12" not in ev:
--        raise Exception("Unexpected association status code: " + ev)
-+    if "CTRL-EVENT-DISCONNECTED" not in ev:
-+        raise Exception("Unexpected connection result")