aboutsummaryrefslogtreecommitdiffstats
path: root/hostapd
diff options
context:
space:
mode:
authorHelmut Schaa <helmut.schaa@googlemail.com>2011-02-21 15:27:16 (GMT)
committerJouni Malinen <j@w1.fi>2011-02-21 15:27:16 (GMT)
commitf39b07d7ed777a422af5403f68aeb5f1e180e4e8 (patch)
tree4e693631e1b7761724f608d919b07f140ca459c2 /hostapd
parent16a83d29650b88c569c4ff7ad07a0b030a299257 (diff)
downloadhostap-f39b07d7ed777a422af5403f68aeb5f1e180e4e8.zip
hostap-f39b07d7ed777a422af5403f68aeb5f1e180e4e8.tar.gz
hostap-f39b07d7ed777a422af5403f68aeb5f1e180e4e8.tar.bz2
hostapd: Allow coexistance of HT BSSes with WEP/TKIP BSSes
In multi BSS setups it wasn't possible to set up an HT BSS in conjunction with a WEP/TKIP BSS. HT needed to be turned off entirely to allow WEP/TKIP BSSes to be used. In order to allow HT BSSes to coexist with non-HT WEP/TKIP BSSes add a new BSS conf attribute "disable_11n" which disables HT capabilities on a single BSS by suppressing HT IEs in the beacon and probe response frames. Furthermore, mark all STAs associated to a WEP/TKIP BSS as non-HT STAs. The disable_11n parameter is used internally; no new entry is parsed from hostapd.conf. This allows a non-HT WEP/TKIP BSS to coexist with a HT BSS without having to disable HT mode entirely. Nevertheless, all STAs associated to the WEP/TKIP BSS will only be served as if they were non-HT STAs. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Diffstat (limited to 'hostapd')
-rw-r--r--hostapd/config_file.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
index f4cd263..4b9d097 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
@@ -1090,17 +1090,18 @@ static int hostapd_config_check_bss(struct hostapd_bss_config *bss,
#ifdef CONFIG_IEEE80211N
if (conf->ieee80211n &&
bss->ssid.security_policy == SECURITY_STATIC_WEP) {
+ bss->disable_11n = 1;
wpa_printf(MSG_ERROR, "HT (IEEE 802.11n) with WEP is not "
- "allowed");
- return -1;
+ "allowed, disabling HT capabilities");
}
if (conf->ieee80211n && bss->wpa &&
!(bss->wpa_pairwise & WPA_CIPHER_CCMP) &&
!(bss->rsn_pairwise & WPA_CIPHER_CCMP)) {
+ bss->disable_11n = 1;
wpa_printf(MSG_ERROR, "HT (IEEE 802.11n) with WPA/WPA2 "
- "requires CCMP to be enabled");
- return -1;
+ "requires CCMP to be enabled, disabling HT "
+ "capabilities");
}
#endif /* CONFIG_IEEE80211N */