83ebf55865
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> |
||
---|---|---|
.. | ||
eap.c | ||
eap.h | ||
eap_aka.c | ||
eap_config.h | ||
eap_eke.c | ||
eap_fast.c | ||
eap_fast_pac.c | ||
eap_fast_pac.h | ||
eap_gpsk.c | ||
eap_gtc.c | ||
eap_i.h | ||
eap_ikev2.c | ||
eap_leap.c | ||
eap_md5.c | ||
eap_methods.c | ||
eap_methods.h | ||
eap_mschapv2.c | ||
eap_otp.c | ||
eap_pax.c | ||
eap_peap.c | ||
eap_proxy.h | ||
eap_proxy_dummy.c | ||
eap_psk.c | ||
eap_pwd.c | ||
eap_sake.c | ||
eap_sim.c | ||
eap_tls.c | ||
eap_tls_common.c | ||
eap_tls_common.h | ||
eap_tnc.c | ||
eap_ttls.c | ||
eap_vendor_test.c | ||
eap_wsc.c | ||
ikev2.c | ||
ikev2.h | ||
Makefile | ||
mschapv2.c | ||
mschapv2.h | ||
tncc.c | ||
tncc.h |