From c319bca47750788d93c19f1e0596a577d815d000 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 2 Feb 2021 09:54:34 -0600 Subject: [PATCH] station: correctly set mac randomization hint Now that ConnectHiddenNetwork can be invoked while we're connected, set the mac randomization hint parameter properly. The kernel will reject requests if randomization is enabled while we're connected to a network. --- src/station.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/station.c b/src/station.c index b378149c..316994f1 100644 --- a/src/station.c +++ b/src/station.c @@ -2677,7 +2677,7 @@ static struct l_dbus_message *station_dbus_connect_hidden_network( uint64_t id = netdev_get_wdev_id(station->netdev); struct scan_parameters params = { .flush = true, - .randomize_mac_addr_hint = true, + .randomize_mac_addr_hint = false, }; const char *ssid; struct network *network; @@ -2726,6 +2726,10 @@ static struct l_dbus_message *station_dbus_connect_hidden_network( params.ssid = ssid; + /* HW cannot randomize our MAC if connected */ + if (!station->connected_bss) + params.randomize_mac_addr_hint = true; + station->hidden_network_scan_id = scan_active_full(id, ¶ms, station_hidden_network_scan_triggered, station_hidden_network_scan_results,