From: Jouni Malinen Date: Fri, 11 May 2012 10:29:43 +0000 (+0300) Subject: WPS: Fix BSSID filter handling X-Git-Tag: hostap_2_0~665 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2c1e5575079f18e97f5d5751d0300b2e7c6a1aba;p=thirdparty%2Fhostap.git WPS: Fix BSSID filter handling 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 intended-for: hostap-1 --- diff --git a/wpa_supplicant/wps_supplicant.c b/wpa_supplicant/wps_supplicant.c index ee7f780b1..8e671f941 100644 --- a/wpa_supplicant/wps_supplicant.c +++ b/wpa_supplicant/wps_supplicant.c @@ -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");