summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstsp <stsp@openbsd.org>2019-03-01 08:09:00 +0000
committerstsp <stsp@openbsd.org>2019-03-01 08:09:00 +0000
commita3e1593268d7947b1eb8d00e2c6a841e77f785b8 (patch)
tree6893461795dab6fc759a8322f85020bfd23ee6d2
parentDue to the way we build libunbound inside of unwind .o files collide in (diff)
downloadwireguard-openbsd-a3e1593268d7947b1eb8d00e2c6a841e77f785b8.tar.xz
wireguard-openbsd-a3e1593268d7947b1eb8d00e2c6a841e77f785b8.zip
Pick up the AP's 11g ERP protection setting properly in 11n client mode.
ok phessler@
-rw-r--r--sys/net80211/ieee80211_input.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c
index d04fadc0187..24fd9c06896 100644
--- a/sys/net80211/ieee80211_input.c
+++ b/sys/net80211/ieee80211_input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ieee80211_input.c,v 1.203 2019/01/15 10:01:46 stsp Exp $ */
+/* $OpenBSD: ieee80211_input.c,v 1.204 2019/03/01 08:09:00 stsp Exp $ */
/*-
* Copyright (c) 2001 Atsushi Onoe
@@ -1565,7 +1565,9 @@ ieee80211_recv_probe_resp(struct ieee80211com *ic, struct mbuf *m,
DPRINTF(("[%s] erp change: was 0x%x, now 0x%x\n",
ether_sprintf((u_int8_t *)wh->i_addr2),
ni->ni_erp, erp));
- if (ic->ic_curmode == IEEE80211_MODE_11G &&
+ if ((ic->ic_curmode == IEEE80211_MODE_11G ||
+ (ic->ic_curmode == IEEE80211_MODE_11N &&
+ IEEE80211_IS_CHAN_2GHZ(ni->ni_chan))) &&
(erp & IEEE80211_ERP_USE_PROTECTION))
ic->ic_flags |= IEEE80211_F_USEPROT;
else