aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2017-03-07 16:20:59 (GMT)
committerJouni Malinen <j@w1.fi>2017-03-11 09:11:55 (GMT)
commitb07ff9cb04373ff14d75854c5ae9da319fc2e893 (patch)
tree42c108feff4287d887a91203a63f1575fd913832 /wpa_supplicant
parent2ff712fc1a3820ab25850d9acc7da5e20d71cc32 (diff)
downloadhostap-b07ff9cb04373ff14d75854c5ae9da319fc2e893.zip
hostap-b07ff9cb04373ff14d75854c5ae9da319fc2e893.tar.gz
hostap-b07ff9cb04373ff14d75854c5ae9da319fc2e893.tar.bz2
wpa_supplicant: Allow disabling HT in AP mode without HT overrides
Since VHT can be toggled explicitly, also expose being able to disable HT explicitly, without requiring HT overrides. Continue making it default to enabled though. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'wpa_supplicant')
-rw-r--r--wpa_supplicant/ap.c7
-rw-r--r--wpa_supplicant/config.c2
-rw-r--r--wpa_supplicant/config_file.c1
-rw-r--r--wpa_supplicant/config_ssid.h1
-rw-r--r--wpa_supplicant/wpa_cli.c2
5 files changed, 10 insertions, 3 deletions
diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c
index d6aac3e..2866c04 100644
--- a/wpa_supplicant/ap.c
+++ b/wpa_supplicant/ap.c
@@ -145,12 +145,15 @@ int wpa_supplicant_conf_ap_ht(struct wpa_supplicant *wpa_s,
}
#ifdef CONFIG_HT_OVERRIDES
- if (ssid->disable_ht) {
+ if (ssid->disable_ht)
+ ssid->ht = 0;
+#endif /* CONFIG_HT_OVERRIDES */
+
+ if (!ssid->ht) {
conf->ieee80211n = 0;
conf->ht_capab = 0;
no_ht = 1;
}
-#endif /* CONFIG_HT_OVERRIDES */
if (!no_ht && mode && mode->ht_capab) {
conf->ieee80211n = 1;
diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c
index 95971ea..676b618 100644
--- a/wpa_supplicant/config.c
+++ b/wpa_supplicant/config.c
@@ -1995,6 +1995,7 @@ static const struct parse_data ssid_fields[] = {
{ FUNC(auth_alg) },
{ FUNC(scan_freq) },
{ FUNC(freq_list) },
+ { INT_RANGE(ht, 0, 1) },
{ INT_RANGE(vht, 0, 1) },
{ INT_RANGE(ht40, -1, 1) },
{ INT_RANGE(max_oper_chwidth, VHT_CHANWIDTH_USE_HT,
@@ -2580,6 +2581,7 @@ void wpa_config_set_network_defaults(struct wpa_ssid *ssid)
ssid->group_cipher = DEFAULT_GROUP;
ssid->key_mgmt = DEFAULT_KEY_MGMT;
ssid->bg_scan_period = DEFAULT_BG_SCAN_PERIOD;
+ ssid->ht = 1;
#ifdef IEEE8021X_EAPOL
ssid->eapol_flags = DEFAULT_EAPOL_FLAGS;
ssid->eap_workaround = DEFAULT_EAP_WORKAROUND;
diff --git a/wpa_supplicant/config_file.c b/wpa_supplicant/config_file.c
index e580861..72e0a55 100644
--- a/wpa_supplicant/config_file.c
+++ b/wpa_supplicant/config_file.c
@@ -793,6 +793,7 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid)
INT(peerkey);
INT(mixed_cell);
INT(vht);
+ INT_DEF(ht, 1);
INT(ht40);
INT(max_oper_chwidth);
INT(vht_center_freq1);
diff --git a/wpa_supplicant/config_ssid.h b/wpa_supplicant/config_ssid.h
index a2482d4..908b641 100644
--- a/wpa_supplicant/config_ssid.h
+++ b/wpa_supplicant/config_ssid.h
@@ -470,6 +470,7 @@ struct wpa_ssid {
int dot11MeshConfirmTimeout; /* msec */
int dot11MeshHoldingTimeout; /* msec */
+ int ht;
int ht40;
int vht;
diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c
index 8ef7f46..c5091b5 100644
--- a/wpa_supplicant/wpa_cli.c
+++ b/wpa_supplicant/wpa_cli.c
@@ -1372,7 +1372,7 @@ static const char *network_fields[] = {
"bssid_whitelist", "psk", "proto", "key_mgmt",
"bg_scan_period", "pairwise", "group", "auth_alg", "scan_freq",
"freq_list", "max_oper_chwidth", "ht40", "vht", "vht_center_freq1",
- "vht_center_freq2",
+ "vht_center_freq2", "ht",
#ifdef IEEE8021X_EAPOL
"eap", "identity", "anonymous_identity", "password", "ca_cert",
"ca_path", "client_cert", "private_key", "private_key_passwd",