hostapd/src/wps
Davina Lu 66819b07b5 hostapd: Support Multi-AP backhaul STA onboarding with WPS
The Wi-Fi Alliance Multi-AP Specification v1.0 allows onboarding of a
backhaul STA through WPS. To enable this, the WPS Registrar offers a
different set of credentials (backhaul credentials instead of fronthaul
credentials) when the Multi-AP subelement is present in the WFA vendor
extension element of the WSC M1 message.

Add new configuration options to specify the backhaul credentials for
the hostapd internal registrar: multi_ap_backhaul_ssid,
multi_ap_backhaul_wpa_psk, multi_ap_backhaul_wpa_passphrase. These are
only relevant for a fronthaul SSID, i.e., where multi_ap is set to 2 or
3. When these options are set, pass the backhaul credentials instead of
the normal credentials when the Multi-AP subelement is present.

Ignore the Multi-AP subelement if the backhaul config options are not
set. Note that for an SSID which is fronthaul and backhaul at the same
time (i.e., multi_ap == 3), this results in the correct credentials
being sent anyway.

The security to be used for the backaul BSS is fixed to WPA2PSK. The
Multi-AP Specification only allows Open and WPA2PSK networks to be
configured. Although not stated explicitly, the backhaul link is
intended to be always encrypted, hence WPA2PSK.

To build the credentials, the credential-building code is essentially
copied and simplified. Indeed, the backhaul credentials are always
WPA2PSK and never use per-device PSK. All the options set for the
fronthaul BSS WPS are simply ignored.

Signed-off-by: Davina Lu <ylu@quantenna.com>
Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Marianna Carrera <marianna.carrera.so@quantenna.com>
2019-02-18 22:35:41 +02:00
..
http.h WPS: Move POST URL validation into web_connection_parse_post() 2009-12-12 16:48:50 +02:00
http_client.c WPS: Use a shared error path in http_client_addr() 2015-08-29 13:42:32 +03:00
http_client.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
http_server.c WPS: Merge common error paths in HTTP server 2015-08-28 20:33:22 +03:00
http_server.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
httpread.c WPS: Remove duplicated isgraph() loop in HTTP header parsing 2015-08-28 23:59:28 +03:00
httpread.h Remove the GPL notification from files contributed by Atheros 2012-02-11 19:39:36 +02:00
Makefile tests: Add p2p-fuzzer 2015-04-22 11:44:19 +03:00
ndef.c WPS: Avoid bogus static analyzer warning in ndef_parse_record() 2015-07-17 20:43:17 +03:00
upnp_xml.c WPS ER: Fix UPnP XML Device Description parser to find correct device 2011-08-31 13:56:03 +03:00
upnp_xml.h WPS ER: Fix UPnP XML Device Description parser to find correct device 2011-08-31 13:56:03 +03:00
wps.c wpa_supplicant: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
wps.h hostapd: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
wps_attr_build.c WPS: Add multi_ap_subelem to wps_build_wfa_ext() 2019-02-18 20:30:26 +02:00
wps_attr_parse.c hostapd: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
wps_attr_parse.h hostapd: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
wps_attr_process.c WPS: Reject a Credential with invalid passphrase 2016-05-02 11:08:25 +03:00
wps_common.c WPS: Add multi_ap_subelem to wps_build_wfa_ext() 2019-02-18 20:30:26 +02:00
wps_defs.h WPS: Add multi_ap_subelem to wps_build_wfa_ext() 2019-02-18 20:30:26 +02:00
wps_dev_attr.c hostapd: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
wps_dev_attr.h hostapd: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
wps_enrollee.c wpa_supplicant: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
wps_er.c WPS: Add multi_ap_subelem to wps_build_wfa_ext() 2019-02-18 20:30:26 +02:00
wps_er.h WPS ER: Allow UPnP interface to be forced 2013-04-28 21:56:24 +03:00
wps_er_ssdp.c WPS ER: Fix SSDP CACHE-CONTROL line parser 2015-08-15 22:24:15 +03:00
wps_i.h wpa_supplicant: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
wps_module_tests.c tests: Declare module test functions in a header file 2016-06-23 18:26:09 +03:00
wps_registrar.c hostapd: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
wps_upnp.c WPS: Add multi_ap_subelem to wps_build_wfa_ext() 2019-02-18 20:30:26 +02:00
wps_upnp.h WPS: Support parallel UPnP WPS protocol runs 2015-11-30 16:57:11 +02:00
wps_upnp_ap.c WPS: Merge SetSelectedRegistrar parsing error returns 2015-08-31 17:25:20 +03:00
wps_upnp_event.c WPS: Merge event_send_start() error paths 2015-08-31 17:25:20 +03:00
wps_upnp_i.h WPS: Support parallel UPnP WPS protocol runs 2015-11-30 16:57:11 +02:00
wps_upnp_ssdp.c Share a single str_starts() implementation 2016-08-06 12:38:21 +03:00
wps_upnp_web.c WPS: Support parallel UPnP WPS protocol runs 2015-11-30 16:57:11 +02:00
wps_validate.c WPS: Fix wps_validate_credential() argument type 2018-12-24 11:12:53 +02:00