From 9909efb43524760d2b7eebf312c9012c9b8c4081 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Mon, 9 Mar 2026 09:57:45 -0700 Subject: [PATCH] auto-t: Add test to roam back to BSS with existing PMKSA This test exposes a bug where if a PMKSA already exists for a BSS that we are roaming to IWD crashes due to a missing check in station.c --- autotests/testSAE-roam/connection_test.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/autotests/testSAE-roam/connection_test.py b/autotests/testSAE-roam/connection_test.py index c813f00f..243178a4 100644 --- a/autotests/testSAE-roam/connection_test.py +++ b/autotests/testSAE-roam/connection_test.py @@ -109,6 +109,26 @@ class Test(unittest.TestCase): self.validate_connection(wd, True, check_used_pmksa=True) + def test_ft_roam_with_pmksa(self): + wd = IWD(True) + + self.bss_hostapd[0].set_value('wpa_key_mgmt', 'FT-SAE SAE') + self.bss_hostapd[0].reload() + self.bss_hostapd[0].wait_for_event("AP-ENABLED") + self.bss_hostapd[1].set_value('wpa_key_mgmt', 'FT-SAE SAE') + self.bss_hostapd[1].reload() + self.bss_hostapd[1].wait_for_event("AP-ENABLED") + self.bss_hostapd[2].set_value('wpa_key_mgmt', 'FT-PSK') + self.bss_hostapd[2].reload() + self.bss_hostapd[2].wait_for_event("AP-ENABLED") + + device = wd.list_devices(1)[0] + + self.connect(wd, device, self.bss_hostapd[0]) + + self.roam(wd, device, self.bss_hostapd[0], self.bss_hostapd[1]) + self.roam(wd, device, self.bss_hostapd[1], self.bss_hostapd[0]) + def test_reassociate_roam_success(self): wd = IWD(True)