Fix BSSID enforcement with driver-based BSS selection
Previously, wpa_supplicant did not specify BSSID to any connection request if the driver indicated that it will take care of BSS selection. This is fine for most use cases, but can result to issues if the network block has an explicit bssid parameter to select which BSS is to be used. Fix this by setting BSSID and channel when the network block includes the bssid parameter even if the driver indicates support for BSS selection. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com> intended-for: hostap-1
This commit is contained in:
parent
2c1e557507
commit
f15854d1e1
1 changed files with 6 additions and 1 deletions
|
@ -1347,7 +1347,12 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
|
||||||
if (bss) {
|
if (bss) {
|
||||||
params.ssid = bss->ssid;
|
params.ssid = bss->ssid;
|
||||||
params.ssid_len = bss->ssid_len;
|
params.ssid_len = bss->ssid_len;
|
||||||
if (!wpas_driver_bss_selection(wpa_s)) {
|
if (!wpas_driver_bss_selection(wpa_s) || ssid->bssid_set) {
|
||||||
|
wpa_printf(MSG_DEBUG, "Limit connection to BSSID "
|
||||||
|
MACSTR " freq=%u MHz based on scan results "
|
||||||
|
"(bssid_set=%d)",
|
||||||
|
MAC2STR(bss->bssid), bss->freq,
|
||||||
|
ssid->bssid_set);
|
||||||
params.bssid = bss->bssid;
|
params.bssid = bss->bssid;
|
||||||
params.freq = bss->freq;
|
params.freq = bss->freq;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue