diff options
author | Jouni Malinen <jouni.malinen@atheros.com> | 2011-05-17 19:53:02 +0300 |
---|---|---|
committer | Jouni Malinen <j@w1.fi> | 2011-05-17 19:53:02 +0300 |
commit | fa5165586fa11ecdccb7c81d40979b51c2583fd2 (patch) | |
tree | e687abcd778d5ebb37fdbd50f3cabb2eccdacc3d /hostapd | |
parent | bcb90f750d16c9cab4c7699ab211616d0cd9bf46 (diff) | |
download | external_wpa_supplicant_8_ti-fa5165586fa11ecdccb7c81d40979b51c2583fd2.zip external_wpa_supplicant_8_ti-fa5165586fa11ecdccb7c81d40979b51c2583fd2.tar.gz external_wpa_supplicant_8_ti-fa5165586fa11ecdccb7c81d40979b51c2583fd2.tar.bz2 |
WPS: Add a workaround for Windows 7 capability discovery for PBC
Windows 7 uses incorrect way of figuring out AP's WPS capabilities by
acting as a Registrar and using M1 from the AP. The config methods
attribute in that message is supposed to indicate only the configuration
method supported by the AP in Enrollee role, i.e., to add an external
Registrar. For that case, PBC shall not be used and as such, the
PushButton config method is removed from M1 by default. If pbc_in_m1=1
is included in the configuration file, the PushButton config method is
left in M1 (if included in config_methods parameter) to allow Windows 7
to use PBC instead of PIN (e.g., from a label in the AP).
Diffstat (limited to 'hostapd')
-rw-r--r-- | hostapd/config_file.c | 2 | ||||
-rw-r--r-- | hostapd/hostapd.conf | 12 |
2 files changed, 14 insertions, 0 deletions
diff --git a/hostapd/config_file.c b/hostapd/config_file.c index 11c8bf0..835f050 100644 --- a/hostapd/config_file.c +++ b/hostapd/config_file.c @@ -2021,6 +2021,8 @@ struct hostapd_config * hostapd_config_read(const char *fname) } else if (os_strcmp(buf, "upc") == 0) { os_free(bss->upc); bss->upc = os_strdup(pos); + } else if (os_strcmp(buf, "pbc_in_m1") == 0) { + bss->pbc_in_m1 = atoi(pos); #endif /* CONFIG_WPS */ #ifdef CONFIG_P2P_MANAGER } else if (os_strcmp(buf, "manage_p2p") == 0) { diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf index 6d7263a..e0525e4 100644 --- a/hostapd/hostapd.conf +++ b/hostapd/hostapd.conf @@ -921,6 +921,18 @@ own_ip_addr=127.0.0.1 # virtual_push_button physical_push_button #config_methods=label virtual_display virtual_push_button keypad +# WPS capability discovery workaround for PBC with Windows 7 +# Windows 7 uses incorrect way of figuring out AP's WPS capabilities by acting +# as a Registrar and using M1 from the AP. The config methods attribute in that +# message is supposed to indicate only the configuration method supported by +# the AP in Enrollee role, i.e., to add an external Registrar. For that case, +# PBC shall not be used and as such, the PushButton config method is removed +# from M1 by default. If pbc_in_m1=1 is included in the configuration file, +# the PushButton config method is left in M1 (if included in config_methods +# parameter) to allow Windows 7 to use PBC instead of PIN (e.g., from a label +# in the AP). +#pbc_in_m1=1 + # Static access point PIN for initial configuration and adding Registrars # If not set, hostapd will not allow external WPS Registrars to control the # access point. The AP PIN can also be set at runtime with hostapd_cli |