aboutsummaryrefslogtreecommitdiff
path: root/net/hostapd/files/patch-src_ap_hostapd.c
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2024-02-27 04:27:50 +0000
committerCy Schubert <cy@FreeBSD.org>2024-03-04 16:44:36 +0000
commit2dc822b9e7c44abf61594cbc31379837bb35973d (patch)
treef54b19e1004c4a32772949c33556285b7d895c6d /net/hostapd/files/patch-src_ap_hostapd.c
parentdc54c23abc95eebbd14d84a74716c7b24ef79b34 (diff)
Diffstat (limited to 'net/hostapd/files/patch-src_ap_hostapd.c')
-rw-r--r--net/hostapd/files/patch-src_ap_hostapd.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/net/hostapd/files/patch-src_ap_hostapd.c b/net/hostapd/files/patch-src_ap_hostapd.c
new file mode 100644
index 000000000000..1eafe68ad485
--- /dev/null
+++ b/net/hostapd/files/patch-src_ap_hostapd.c
@@ -0,0 +1,31 @@
+--- src/ap/hostapd.c.orig 2022-01-16 12:51:29.000000000 -0800
++++ src/ap/hostapd.c 2024-02-26 20:24:39.350068000 -0800
+@@ -1698,6 +1698,20 @@
+ {
+ iface->wait_channel_update = 0;
+
++#ifdef __FreeBSD
++ /* XXX hostapd_get_hw_features() is an inline that always returns -1
++ * because MLME will not build under FreeBSD due to its use of
++ * Linux definitions. Normally FreeBSD would uncondionally execute the
++ * "Not all drivers support..." block. Instead we #ifdef out the entire
++ * block of code instead of maintaining the fallacy that
++ * hostapd_get_hw_features() returns anything meaninful.
++ *
++ * Ideally WANT_AP_MLME should be taught about FreeBSD data structures
++ * and defintions. Instead we do this to enable channel selection in
++ * hostapd.conf.
++ */
++ iface->freq = iface->conf->channel;
++#else
+ if (hostapd_get_hw_features(iface)) {
+ /* Not all drivers support this yet, so continue without hw
+ * feature data. */
+@@ -1744,6 +1758,7 @@
+ if (iface->conf->ieee80211h)
+ wpa_printf(MSG_DEBUG, "DFS support is enabled");
+ }
++#endif
+ return hostapd_setup_interface_complete(iface, 0);
+
+ fail: