From 2c1e5575079f18e97f5d5751d0300b2e7c6a1aba Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 11 May 2012 13:29:43 +0300 Subject: [PATCH] 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 --- wpa_supplicant/wps_supplicant.c | 1 + 1 file changed, 1 insertion(+) diff --git a/wpa_supplicant/wps_supplicant.c b/wpa_supplicant/wps_supplicant.c index ee7f780..8e671f9 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"); -- 2.1.4