diff options
author | Lior David <qca_liord@qca.qualcomm.com> | 2016-04-12 18:13:22 +0300 |
---|---|---|
committer | Hamad Kadmany <hkadmany@codeaurora.org> | 2016-08-25 14:50:14 +0300 |
commit | 8c633e95429cefa89026546ca80e8f54f03f862d (patch) | |
tree | df05e5ad8a84879180902adfa0d56b413ddaaa27 | |
parent | 80a9f110460cc0f92e82d2e4feab93cabcae84d2 (diff) | |
download | android_external_wpa_supplicant_8-8c633e95429cefa89026546ca80e8f54f03f862d.tar.gz android_external_wpa_supplicant_8-8c633e95429cefa89026546ca80e8f54f03f862d.tar.bz2 android_external_wpa_supplicant_8-8c633e95429cefa89026546ca80e8f54f03f862d.zip |
wpa_supplicant: Add wps_disabled parameter to network block
Add a new parameter wps_disabled to network block (wpa_ssid). This
parameter allows WPS functionality to be disabled in AP mode.
Change-Id: I94aa3956665f1ee23fa80820424f5dde526d3330
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Git-commit: b6317b417f5dfb16711ec1a7ab3600f77479fe20
Git-repo: git://w1.fi/srv/git/hostap.git
CRs-Fixed: 1059345
-rw-r--r-- | wpa_supplicant/ap.c | 2 | ||||
-rw-r--r-- | wpa_supplicant/config.c | 1 | ||||
-rw-r--r-- | wpa_supplicant/config_file.c | 1 | ||||
-rw-r--r-- | wpa_supplicant/config_ssid.h | 8 | ||||
-rw-r--r-- | wpa_supplicant/wpa_cli.c | 2 | ||||
-rw-r--r-- | wpa_supplicant/wpa_supplicant.conf | 5 |
6 files changed, 18 insertions, 1 deletions
diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c index f6abd706..803ff296 100644 --- a/wpa_supplicant/ap.c +++ b/wpa_supplicant/ap.c @@ -416,6 +416,8 @@ static int wpa_supplicant_conf_ap(struct wpa_supplicant *wpa_s, !(bss->wpa & 2))) goto no_wps; /* WPS2 does not allow WPA/TKIP-only * configuration */ + if (ssid->wps_disabled) + goto no_wps; bss->eap_server = 1; if (!ssid->ignore_broadcast_ssid) diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c index e2aa9708..da418a24 100644 --- a/wpa_supplicant/config.c +++ b/wpa_supplicant/config.c @@ -2055,6 +2055,7 @@ static const struct parse_data ssid_fields[] = { #endif /* CONFIG_HS20 */ { INT_RANGE(mac_addr, 0, 2) }, { INT_RANGE(pbss, 0, 2) }, + { INT_RANGE(wps_disabled, 0, 1) }, }; #undef OFFSET diff --git a/wpa_supplicant/config_file.c b/wpa_supplicant/config_file.c index 9b4046ca..e72f8441 100644 --- a/wpa_supplicant/config_file.c +++ b/wpa_supplicant/config_file.c @@ -756,6 +756,7 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid) INT(mixed_cell); INT(max_oper_chwidth); INT(pbss); + INT(wps_disabled); #ifdef CONFIG_IEEE80211W write_int(f, "ieee80211w", ssid->ieee80211w, MGMT_FRAME_PROTECTION_DEFAULT); diff --git a/wpa_supplicant/config_ssid.h b/wpa_supplicant/config_ssid.h index c2af91df..1ecdfc09 100644 --- a/wpa_supplicant/config_ssid.h +++ b/wpa_supplicant/config_ssid.h @@ -748,6 +748,14 @@ struct wpa_ssid { * this MBSS will trigger a peering attempt. */ int no_auto_peer; + + /** + * wps_disabled - WPS disabled in AP mode + * + * 0 = WPS enabled and configured (default) + * 1 = WPS disabled + */ + int wps_disabled; }; #endif /* CONFIG_SSID_H */ diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c index 812abfc1..ccbd538e 100644 --- a/wpa_supplicant/wpa_cli.c +++ b/wpa_supplicant/wpa_cli.c @@ -1612,7 +1612,7 @@ static const char *network_fields[] = { #ifdef CONFIG_HS20 "update_identifier", #endif /* CONFIG_HS20 */ - "mac_addr", "pbss" + "mac_addr", "pbss", "wps_disabled" }; diff --git a/wpa_supplicant/wpa_supplicant.conf b/wpa_supplicant/wpa_supplicant.conf index 2017a1a7..ff3aa841 100644 --- a/wpa_supplicant/wpa_supplicant.conf +++ b/wpa_supplicant/wpa_supplicant.conf @@ -1179,6 +1179,11 @@ fast_reauth=1 # Beacon interval (default: 100 TU) #beacon_int=100 +# WPS in AP mode +# 0 = WPS enabled and configured (default) +# 1 = WPS disabled +#wps_disabled=0 + # MAC address policy # 0 = use permanent MAC address # 1 = use random MAC address for each ESS connection |