hostapd/src/eap_peer
Davina Lu 83ebf55865 wpa_supplicant: 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 backhaul STA needs to add
a Multi-AP IE to the WFA vendor extension element in the WSC M1 message
that indicates it supports the Multi-AP backhaul STA role. The Registrar
(if it support Multi-AP onboarding) will respond to that with a WSC M8
message that also contains the Multi-AP IE, and that contains the
credentials for the backhaul SSID (which may be different from the SSID
on which WPS is performed).

Introduce a new parameter to wpas_wps_start_pbc() and allow it to be
set via control interface's new multi_ap=1 parameter of WPS_PBC call.
multi_ap_backhaul_sta is set to 1 in the automatically created SSID.
Thus, if the AP does not support Multi-AP, association will fail and
WPS will be terminated.

Only wps_pbc is supported.

This commit adds the multi_ap argument only to the control socket
interface, not to the D-Bus interface.

Since WPS associates with the fronthaul BSS instead of the backhaul BSS,
we should not drop association if the AP announces fronthaul-only BSS.
Still, we should only do that in the specific case of WPS. Therefore,
add a check to multi_ap_process_assoc_resp() to allow association with a
fronthaul-only BSS if and only if key_mgmt contains WPS.

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>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Cc: Marianna Carrera <marianna.carrera.so@quantenna.com>
2019-02-18 22:35:41 +02:00
..
eap.c eap_proxy: Fix memory leaks when using eap_peer_erp_init() 2018-09-21 21:34:08 +03:00
eap.h Propagate the EAP method error code 2018-03-31 11:57:33 +03:00
eap_aka.c Propagate the EAP method error code 2018-03-31 11:57:33 +03:00
eap_config.h EAP-SIM/AKA: Separate identity for MK derivation 2018-01-21 11:28:53 +02:00
eap_eke.c Use os_memdup() 2017-03-07 13:19:10 +02:00
eap_fast.c EAP peer: Clear temporary message buffers before freeing 2019-02-05 23:34:30 +02:00
eap_fast_pac.c Use os_memdup() 2017-03-07 13:19:10 +02:00
eap_fast_pac.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
eap_gpsk.c Use os_memdup() 2017-03-07 13:19:10 +02:00
eap_gtc.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_i.h Propagate the EAP method error code 2018-03-31 11:57:33 +03:00
eap_ikev2.c Use os_memdup() 2017-03-07 13:19:10 +02:00
eap_leap.c EAP-LEAP: Fix possible memory leak in eap_leap_process_request() 2017-07-08 16:14:03 +03:00
eap_md5.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_methods.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_methods.h EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_mschapv2.c Use os_memdup() 2017-03-07 13:19:10 +02:00
eap_otp.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_pax.c Use os_memdup() 2017-03-07 13:19:10 +02:00
eap_peap.c EAP peer: Clear temporary message buffers before freeing 2019-02-05 23:34:30 +02:00
eap_proxy.h eap_proxy: Support multiple SIMs in get_imsi() 2017-06-06 03:42:32 +03:00
eap_proxy_dummy.c eap_proxy: Support multiple SIMs in get_imsi() 2017-06-06 03:42:32 +03:00
eap_psk.c Use os_memdup() 2017-03-07 13:19:10 +02:00
eap_pwd.c EAP-pwd peer: Fix memory leak in eap_pwd_perform_confirm_exchange() 2018-10-16 12:11:32 +03:00
eap_sake.c Use os_memdup() 2017-03-07 13:19:10 +02:00
eap_sim.c Propagate the EAP method error code 2018-03-31 11:57:33 +03:00
eap_tls.c EAP-TLS: Update key derivation label per draft-ietf-emu-eap-tls13-00 2018-06-01 17:41:59 +03:00
eap_tls_common.c EAP-TLS: Update Session-Id derivation with TLS v1.3 2019-01-05 18:00:26 +02:00
eap_tls_common.h EAP-TLS peer: Determine whether TLS v1.3 or newer is used 2018-05-01 17:45:37 +03:00
eap_tnc.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_ttls.c EAP peer: Clear temporary message buffers before freeing 2019-02-05 23:34:30 +02:00
eap_vendor_test.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_wsc.c wpa_supplicant: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
ikev2.c Use os_memdup() 2017-03-07 13:19:10 +02:00
ikev2.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
Makefile tests: Add eapol-fuzzer 2015-04-22 11:44:19 +03:00
mschapv2.c EAP-MSCHAPv2: Use os_memcmp_const() for hash/password comparisons 2014-07-02 12:38:48 +03:00
mschapv2.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
tncc.c Use os_memdup() 2017-03-07 13:19:10 +02:00
tncc.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00