]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
WPS: Fix BSSID filter handling
authorJouni Malinen <jouni@qca.qualcomm.com>
Fri, 11 May 2012 10:29:43 +0000 (13:29 +0300)
committerJouni Malinen <j@w1.fi>
Fri, 11 May 2012 10:29:43 +0000 (13:29 +0300)
If WPS commands are used with a specific BSSID instead of wildcard,
the BSSID that was supposed to be used only for the provisioning step
may end up getting copied to the network block that gets provisioned
based on the WPS credentials. Fix this by clearing ssid->bssid_set
when creating the network block by replacing the block used for WPS
provisioning.

This issue could show up with the provisioned network not getting
selected properly with APs that have multiple radios. Depending on
the driver, this could result in only a single one of the available
BSSes being available or the connection failing completely.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
intended-for: hostap-1

wpa_supplicant/wps_supplicant.c

index ee7f780b1d2fa8fc03b9323c6a36b983e099b9c4..8e671f9416f2b79cfd45b934c60b0d5f3324f8a8 100644 (file)
@@ -263,6 +263,7 @@ static int wpa_supplicant_wps_cred(void *ctx,
                ssid->eap.eap_methods = NULL;
                if (!ssid->p2p_group)
                        ssid->temporary = 0;
+               ssid->bssid_set = 0;
        } else {
                wpa_printf(MSG_DEBUG, "WPS: Create a new network based on the "
                           "received credential");