diff options
author | sam <sam@FreeBSD.org> | 2005-01-22 20:31:22 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2005-01-22 20:31:22 +0000 |
commit | 7a9676cb41b12e30e9409aae934fcaf52c4a4e94 (patch) | |
tree | e25083e729e997490577922a9ac0db839a51e44c /sys | |
parent | 78282d6a1d2bd09850c66a6e818d472f9705bc3e (diff) | |
download | FreeBSD-src-7a9676cb41b12e30e9409aae934fcaf52c4a4e94.zip FreeBSD-src-7a9676cb41b12e30e9409aae934fcaf52c4a4e94.tar.gz |
when ssid suppression is enabled don't respond to probe requests
unless our ssid is specified
Diffstat (limited to 'sys')
-rw-r--r-- | sys/net80211/ieee80211_input.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index 24aec7d..6902dc9 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -1986,6 +1986,14 @@ ieee80211_recv_mgmt(struct ieee80211com *ic, struct mbuf *m0, IEEE80211_VERIFY_ELEMENT(rates, IEEE80211_RATE_MAXSIZE); IEEE80211_VERIFY_ELEMENT(ssid, IEEE80211_NWID_LEN); IEEE80211_VERIFY_SSID(ic->ic_bss, ssid); + if ((ic->ic_flags & IEEE80211_F_HIDESSID) && ssid[1] == 0) { + IEEE80211_DISCARD(ic, IEEE80211_MSG_INPUT, + wh, ieee80211_mgt_subtype_name[subtype >> + IEEE80211_FC0_SUBTYPE_SHIFT], + "%s", "no ssid with ssid suppression enabled"); + ic->ic_stats.is_rx_ssidmismatch++; /*XXX*/ + return; + } if (ni == ic->ic_bss) { if (ic->ic_opmode == IEEE80211_M_IBSS) { |