HACK: hostapd: a quick fix in the wrong way hostapd
authorAlexander Couzens <lynxis@fe80.eu>
Wed, 26 Feb 2020 00:48:15 +0000 (01:48 +0100)
committerAlexander Couzens <lynxis@fe80.eu>
Wed, 26 Feb 2020 00:56:44 +0000 (01:56 +0100)
package/network/services/hostapd/patches/999-HACK-fix-object-dependencies.patch [new file with mode: 0644]
package/network/services/hostapd/patches/999-lynxis-second.patch [new file with mode: 0644]

diff --git a/package/network/services/hostapd/patches/999-HACK-fix-object-dependencies.patch b/package/network/services/hostapd/patches/999-HACK-fix-object-dependencies.patch
new file mode 100644 (file)
index 0000000..e1bf798
--- /dev/null
@@ -0,0 +1,98 @@
+Index: hostapd-2019-08-08-ca8c2bd2/hostapd/Makefile
+===================================================================
+--- hostapd-2019-08-08-ca8c2bd2.orig/hostapd/Makefile
++++ hostapd-2019-08-08-ca8c2bd2/hostapd/Makefile
+@@ -215,7 +215,7 @@ ifdef CONFIG_FULL_DYNAMIC_VLAN
+ # Define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
+ # and VLAN interfaces for the VLAN feature.
+ CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN
+-OBJS += ../src/ap/vlan_full.o
++OBJS += ../src/ap/vlan_full.o ../src/drivers/linux_ioctl.o
+ ifdef CONFIG_VLAN_NETLINK
+ OBJS += ../src/ap/vlan_util.o
+ else
+Index: hostapd-2019-08-08-ca8c2bd2/src/ap/beacon.c
+===================================================================
+--- hostapd-2019-08-08-ca8c2bd2.orig/src/ap/beacon.c
++++ hostapd-2019-08-08-ca8c2bd2/src/ap/beacon.c
+@@ -33,6 +33,36 @@
+ #include "taxonomy.h"
+ #include "ieee802_11_auth.h"
++static struct hostapd_sta_info * sta_track_get(struct hostapd_iface *iface,
++                                             const u8 *addr)
++{
++      struct hostapd_sta_info *info;
++
++      dl_list_for_each(info, &iface->sta_seen, struct hostapd_sta_info, list)
++              if (os_memcmp(addr, info->addr, ETH_ALEN) == 0)
++                      return info;
++
++      return NULL;
++}
++
++
++#ifdef CONFIG_TAXONOMY
++void sta_track_claim_taxonomy_info(struct hostapd_iface *iface, const u8 *addr,
++                                 struct wpabuf **probe_ie_taxonomy)
++{
++      struct hostapd_sta_info *info;
++
++      info = sta_track_get(iface, addr);
++      if (!info)
++              return;
++
++      wpabuf_free(*probe_ie_taxonomy);
++      *probe_ie_taxonomy = info->probe_ie_taxonomy;
++      info->probe_ie_taxonomy = NULL;
++}
++#endif /* CONFIG_TAXONOMY */
++
++
+ #ifdef NEED_AP_MLME
+@@ -637,19 +667,6 @@ void sta_track_expire(struct hostapd_ifa
+ }
+-static struct hostapd_sta_info * sta_track_get(struct hostapd_iface *iface,
+-                                             const u8 *addr)
+-{
+-      struct hostapd_sta_info *info;
+-
+-      dl_list_for_each(info, &iface->sta_seen, struct hostapd_sta_info, list)
+-              if (os_memcmp(addr, info->addr, ETH_ALEN) == 0)
+-                      return info;
+-
+-      return NULL;
+-}
+-
+-
+ void sta_track_add(struct hostapd_iface *iface, const u8 *addr, int ssi_signal)
+ {
+       struct hostapd_sta_info *info;
+@@ -710,23 +727,6 @@ sta_track_seen_on(struct hostapd_iface *
+ }
+-#ifdef CONFIG_TAXONOMY
+-void sta_track_claim_taxonomy_info(struct hostapd_iface *iface, const u8 *addr,
+-                                 struct wpabuf **probe_ie_taxonomy)
+-{
+-      struct hostapd_sta_info *info;
+-
+-      info = sta_track_get(iface, addr);
+-      if (!info)
+-              return;
+-
+-      wpabuf_free(*probe_ie_taxonomy);
+-      *probe_ie_taxonomy = info->probe_ie_taxonomy;
+-      info->probe_ie_taxonomy = NULL;
+-}
+-#endif /* CONFIG_TAXONOMY */
+-
+-
+ void handle_probe_req(struct hostapd_data *hapd,
+                     const struct ieee80211_mgmt *mgmt, size_t len,
+                     int ssi_signal)
diff --git a/package/network/services/hostapd/patches/999-lynxis-second.patch b/package/network/services/hostapd/patches/999-lynxis-second.patch
new file mode 100644 (file)
index 0000000..e69de29