Root/package/madwifi/patches/442-ibss_rx_filter.patch

1--- a/net80211/ieee80211_input.c
2+++ b/net80211/ieee80211_input.c
3@@ -294,6 +294,17 @@ ieee80211_input(struct ieee80211vap * va
4             break;
5         case IEEE80211_M_IBSS:
6         case IEEE80211_M_AHDEMO:
7+ if (!IEEE80211_ADDR_EQ(wh->i_addr3, vap->iv_bssid) ||
8+ (!IEEE80211_ADDR_EQ(wh->i_addr1, vap->iv_myaddr) &&
9+ !IEEE80211_IS_MULTICAST(wh->i_addr1) &&
10+ (subtype != IEEE80211_FC0_SUBTYPE_BEACON))) {
11+ if (!(vap->iv_dev->flags & IFF_PROMISC)) {
12+ IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT,
13+ bssid, NULL, "%s", "not to bss");
14+ vap->iv_stats.is_rx_wrongbss++;
15+ goto out;
16+ }
17+ }
18             if (dir != IEEE80211_FC1_DIR_NODS)
19                 bssid = wh->i_addr1;
20             else if (type == IEEE80211_FC0_TYPE_CTL)
21

Archive Download this file



interactive