forked from openwrt/openwrt
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
hostapd: fix Proxy-ARP with Hotspot 2.0 disabled
The disable_dgaf config fiels is only available in case Hostapd is compiled with Hotspot 2.0 support, however Proxy-ARP does not depend on Hotspot 2.0. Only add the code related to this config field when Hotspot 2.0 is enabled to fix compilation with the aformentioned preconditions. Signed-off-by: David Bauer <mail@david-bauer.net>
- Loading branch information
1 parent
99786e1
commit 7073e88
Showing
1 changed file
with
51 additions
and
0 deletions.
There are no files selected for viewing
51 changes: 51 additions & 0 deletions
51
...ork/services/hostapd/patches/741-proxyarp-fix-compilation-with-Hotspot-2.0-disabled.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
From ad694836b2ded6b97b426bf331627537cdbff591 Mon Sep 17 00:00:00 2001 | ||
From: David Bauer <mail@david-bauer.net> | ||
Date: Thu, 19 Aug 2021 00:52:04 +0200 | ||
Subject: [PATCH] proxyarp: fix compilation with Hotspot 2.0 disabled | ||
|
||
The disable_dgaf config fiels is only available in case Hostapd is | ||
compiled with Hotspot 2.0 support, however Proxy-ARP does not depend on | ||
Hotspot 2.0. | ||
|
||
Only add the code related to this config field when Hotspot 2.0 is | ||
enabled to fix compilation with the aformentioned preconditions. | ||
|
||
Signed-off-by: David Bauer <mail@david-bauer.net> | ||
--- | ||
src/ap/dhcp_snoop.c | 2 ++ | ||
src/ap/ndisc_snoop.c | 2 ++ | ||
2 files changed, 4 insertions(+) | ||
|
||
--- a/src/ap/dhcp_snoop.c | ||
+++ b/src/ap/dhcp_snoop.c | ||
@@ -88,6 +88,7 @@ static void handle_dhcp(void *ctx, const | ||
} | ||
} | ||
|
||
+#ifdef CONFIG_HS20 | ||
if (hapd->conf->disable_dgaf && is_broadcast_ether_addr(buf)) { | ||
for (sta = hapd->sta_list; sta; sta = sta->next) { | ||
if (!(sta->flags & WLAN_STA_AUTHORIZED)) | ||
@@ -96,6 +97,7 @@ static void handle_dhcp(void *ctx, const | ||
(u8 *) buf, len); | ||
} | ||
} | ||
+#endif | ||
|
||
if (msgtype == DHCPACK) { | ||
if (b->your_ip == 0) | ||
--- a/src/ap/ndisc_snoop.c | ||
+++ b/src/ap/ndisc_snoop.c | ||
@@ -151,10 +151,12 @@ static void handle_ndisc(void *ctx, cons | ||
return; | ||
} | ||
break; | ||
+#ifdef CONFIG_HS20 | ||
case ROUTER_ADVERTISEMENT: | ||
if (hapd->conf->disable_dgaf) | ||
ucast_to_stas(hapd, buf, len); | ||
break; | ||
+#endif | ||
case NEIGHBOR_ADVERTISEMENT: | ||
if (hapd->conf->na_mcast_to_ucast) | ||
ucast_to_stas(hapd, buf, len); |