aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/300-pending_work.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-09-17 09:19:39 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-09-17 09:19:39 +0000
commitda8e9326195f94b4c807d25fe28ba2df985f4404 (patch)
tree60e2750bd84677e5b8baf92266bb9478f7dbc5a7 /package/mac80211/patches/300-pending_work.patch
parent505e3abd966234761a3a5ecf979dbd7e0f4002a3 (diff)
downloadupstream-da8e9326195f94b4c807d25fe28ba2df985f4404.tar.gz
upstream-da8e9326195f94b4c807d25fe28ba2df985f4404.tar.bz2
upstream-da8e9326195f94b4c807d25fe28ba2df985f4404.zip
mac80211: drop spoofed packets in ad-hoc mode (fixes #12427)
Signed-off-by: Felix Fietkau <nbd@openwrt.org> Backport of r38013 git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@38014 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/300-pending_work.patch')
-rw-r--r--package/mac80211/patches/300-pending_work.patch12
1 files changed, 11 insertions, 1 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index 1871a8d8ef..63333bee5c 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -239,7 +239,17 @@
break;
case cpu_to_le16(IEEE80211_STYPE_ASSOC_RESP):
case cpu_to_le16(IEEE80211_STYPE_REASSOC_RESP):
-@@ -3059,10 +3067,16 @@ static int prepare_for_handlers(struct i
+@@ -3008,6 +3016,9 @@ static int prepare_for_handlers(struct i
+ case NL80211_IFTYPE_ADHOC:
+ if (!bssid)
+ return 0;
++ if (ether_addr_equal(sdata->vif.addr, hdr->addr2) ||
++ ether_addr_equal(sdata->u.ibss.bssid, hdr->addr2))
++ return 0;
+ if (ieee80211_is_beacon(hdr->frame_control)) {
+ return 1;
+ } else if (!ieee80211_bssid_match(bssid, sdata->u.ibss.bssid)) {
+@@ -3059,10 +3070,16 @@ static int prepare_for_handlers(struct i
}
break;
case NL80211_IFTYPE_WDS: