Browse Source

mac80211: drop spoofed packets in ad-hoc mode (fixes #12427)

Signed-off-by: Felix Fietkau <[email protected]>

SVN-Revision: 38013
Felix Fietkau 12 years ago
parent
commit
fd44388bbf
1 changed files with 11 additions and 1 deletions
  1. 11 1
      package/kernel/mac80211/patches/300-pending_work.patch

+ 11 - 1
package/kernel/mac80211/patches/300-pending_work.patch

@@ -339,7 +339,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: