]> git.ipfire.org Git - thirdparty/hostap.git/commit
WPS: Ignore other APs if PBC is used with a specific BSSID
authorJouni Malinen <jouni@codeaurora.org>
Mon, 24 Feb 2020 17:53:49 +0000 (19:53 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 24 Feb 2020 17:53:49 +0000 (19:53 +0200)
commit3fadb1dcc083430fe8cbe9891ddb28cd8c023e25
treea6e7008caa16ac668cd78ba61c4f26df7de3054e
parentf1d385609009985de8a6ab8a8bbf46b672b93c3d
WPS: Ignore other APs if PBC is used with a specific BSSID

While the WSC specification requires the Enrollee to stop PBC
provisioning if the scan sees multiple APs in active PBC mode, this is
problematic due to some deployed devices continuing to advertise PBC
mode for extended duration (or even permanently). Such an environment
will still need to prevent wildcard AP selection with PBC since an
incorrect device could be selected. However, if the Enrollee device has
been explicitly requested to connect to a specific AP based on its
BSSID, the other APs in scan results can be ignored without affecting
which AP would be selected (only the one matching the specified BSSID is
acceptable).

Start filtering scan results for PBC session overlap check based on the
locally specified constraint on the BSSID, if one is set. This allows
PBC to be used with "WPS_PBC <BSSID>" command in environment where
another AP device is claiming to be in active PBC mode while "WPS_PBC"
command will still continue to reject provisioning since the correct AP
cannot be selected.

This will also cover the P2P cases where P2P_CONNECT is used to start or
authorize GO Negotiation and joining-a-GO with a specific P2P GO
Interface Address (BSSID).

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
wpa_supplicant/wps_supplicant.c