New subject: [PATCH 2/4] auto-t: fix testConnectAutoconnect
There was no open ssid provisioning file, which was fine as the
first test should have created one. But to be safe, include one
explicitly and use the proper setUp/tearDown functions.
---
autotests/testConnectAutoconnect/open_network_test.py | 4 ++++
autotests/testConnectAutoconnect/ssidOpen.open | 1 +
2 files changed, 5 insertions(+)
create mode 100644 autotests/testConnectAutoconnect/ssidOpen.open
diff --git a/autotests/testConnectAutoconnect/open_network_test.py
b/autotests/testConnectAutoconnect/open_network_test.py
index 187f2342..0af66923 100644
--- a/autotests/testConnectAutoconnect/open_network_test.py
+++ b/autotests/testConnectAutoconnect/open_network_test.py
@@ -24,6 +24,10 @@ class TestOpenNetwork(unittest.TestCase):
tca.validate('ssidOpen', False)
tca.validate('ssidOpen', True)
+ def setUp(self):
+ IWD.copy_to_storage('ssidOpen.open')
+
+ def tearDown(self):
IWD.clear_storage()
if __name__ == '__main__':
diff --git a/autotests/testConnectAutoconnect/ssidOpen.open
b/autotests/testConnectAutoconnect/ssidOpen.open
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/autotests/testConnectAutoconnect/ssidOpen.open
@@ -0,0 +1 @@
+
--
2.31.1
New subject: [PATCH 3/4] network: fix autoconnect for Open networks
This code path was never tested and used to ensure a OWE transition
candidate gets selected over an open one (e.g. if all the BSS's are
blacklisted). But this logic was incorrect and the path was being
taken for BSS's that did not contain the owe_trans element, basically
all BSS's. For RSN's this was somewhat fine since the final check
would set a candidate, but for open BSS's the loop would start over
and potentially complete the loop without ever returning a candidate.
If fallback was false, NULL would be returned.
To fix this only take the OWE transition path if its an OWE transition
BSS, i.e. inverse the logic.
---
src/network.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/network.c b/src/network.c
index 110c8577..9a2d12cf 100644
--- a/src/network.c
+++ b/src/network.c
@@ -1136,7 +1136,7 @@ struct scan_bss *network_bss_select(struct network *network,
candidate = bss;
/* OWE Transition BSS */
- if (!bss->owe_trans) {
+ if (bss->owe_trans) {
/* Don't want to connect to the Open BSS if possible */
if (!bss->rsne)
continue;
--
2.31.1