diff options
author | 2017-02-03 09:32:26 +0000 | |
---|---|---|
committer | 2017-02-03 09:32:26 +0000 | |
commit | 960d072b54be254559a635dd3ea3ec652c51e1b9 (patch) | |
tree | bfa15f4d7feb4081843b2b82a1fd12df2fc523c2 | |
parent | Explicitly ask EFI to allocate the page we picked out to lay our (diff) | |
download | wireguard-openbsd-960d072b54be254559a635dd3ea3ec652c51e1b9.tar.xz wireguard-openbsd-960d072b54be254559a635dd3ea3ec652c51e1b9.zip |
Fix 11b clients sending bogus ratesets in association requests. The common
rateset with the AP is calculated only after the association response was
received, which is too late. Fix rates when an AP is selected after a scan.
ok mpi@ tb@
-rw-r--r-- | sys/net80211/ieee80211_node.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 62c809cb46d..4ac043d918b 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ieee80211_node.c,v 1.113 2017/02/02 16:47:53 stsp Exp $ */ +/* $OpenBSD: ieee80211_node.c,v 1.114 2017/02/03 09:32:26 stsp Exp $ */ /* $NetBSD: ieee80211_node.c,v 1.14 2004/05/09 09:18:47 dyoung Exp $ */ /*- @@ -676,6 +676,12 @@ ieee80211_end_scan(struct ifnet *ifp) ic->ic_curmode = ieee80211_chan2mode(ic, ni->ni_chan); + /* Make sure we send valid rates in an association request. */ + if (ic->ic_opmode == IEEE80211_M_STA) + ieee80211_fix_rate(ic, ni, + IEEE80211_F_DOSORT | IEEE80211_F_DOFRATE | + IEEE80211_F_DONEGO | IEEE80211_F_DODEL); + if (ic->ic_flags & IEEE80211_F_RSNON) ieee80211_choose_rsnparams(ic); else if (ic->ic_flags & IEEE80211_F_WEPON) |