From: Jouni Malinen Date: Tue, 12 Oct 2010 13:56:17 +0000 (+0300) Subject: P2P: Limit p2p_connect .. pbc join based on BSSID X-Git-Url: http://www.project-moonshot.org/gitweb/?p=libeap.git;a=commitdiff_plain;h=3b29972c090875168f1210ef7a5e2be030821b0a;hp=68d6fe5693309aba0c89fcf2c25d527fd2b2b35a P2P: Limit p2p_connect .. pbc join based on BSSID Allow only the expected P2P Interface Address as the BSSID for the AP to avoid selecting incorrect BSS should there be another device that is advertising active PBC mode before the target P2P GO does. --- diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 3fb872d..2ceb643 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -700,13 +700,14 @@ static int wpas_copy_go_neg_results(struct wpa_supplicant *wpa_s, static void wpas_start_wps_enrollee(struct wpa_supplicant *wpa_s, struct p2p_go_neg_results *res) { + wpa_printf(MSG_DEBUG, "P2P: Start WPS Enrollee for peer " MACSTR, + MAC2STR(res->peer_interface_addr)); wpa_hexdump_ascii(MSG_DEBUG, "P2P: Start WPS Enrollee for SSID", res->ssid, res->ssid_len); wpa_supplicant_ap_deinit(wpa_s); wpas_copy_go_neg_results(wpa_s, res); if (res->wps_method == WPS_PBC) - wpas_wps_start_pbc(wpa_s, NULL /* res->peer_interface_addr */, - 1); + wpas_wps_start_pbc(wpa_s, res->peer_interface_addr, 1); else { u16 dev_pw_id = DEV_PW_DEFAULT; if (wpa_s->p2p_wps_method == WPS_PIN_KEYPAD)