From: Jouni Malinen Date: Tue, 21 Jan 2025 17:38:05 +0000 (+0200) Subject: tests: OWE transition mode and oldest unknown BSS entry removal X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=704f065268f80ef2e7c8cbe8c562dbafc18a37ca;p=thirdparty%2Fhostap.git tests: OWE transition mode and oldest unknown BSS entry removal Signed-off-by: Jouni Malinen --- diff --git a/tests/hwsim/test_owe.py b/tests/hwsim/test_owe.py index 98254e54b..e86eed0d3 100644 --- a/tests/hwsim/test_owe.py +++ b/tests/hwsim/test_owe.py @@ -184,7 +184,15 @@ def test_owe_transition_mode_mismatch3(dev, apdev): run_owe_transition_mode(dev, apdev, adv_bssid0="02:11:22:33:44:55", adv_bssid1="02:11:22:33:44:66") -def run_owe_transition_mode(dev, apdev, adv_bssid0=None, adv_bssid1=None): +def test_owe_transition_mode_bss_limit(dev, apdev): + """Opportunistic Wireless Encryption transition mode (BSS limit)""" + try: + run_owe_transition_mode(dev, apdev, bss_limit=True) + finally: + dev[0].set("bss_max_count", "200") + +def run_owe_transition_mode(dev, apdev, adv_bssid0=None, adv_bssid1=None, + bss_limit=False): if "OWE" not in dev[0].get_capability("key_mgmt"): raise HwsimSkip("OWE not supported") dev[0].flush_scan_cache() @@ -228,6 +236,27 @@ def run_owe_transition_mode(dev, apdev, adv_bssid0=None, adv_bssid1=None): if val != "OWE": raise Exception("Unexpected key_mgmt: " + val) + if bss_limit: + id = dev[1].add_network() + dev[1].set_network(id, "mode", "2") + dev[1].set_network_quoted(id, "ssid", "owe-test") + dev[1].set_network(id, "key_mgmt", "NONE") + dev[1].set_network(id, "frequency", "2412") + dev[1].set_network(id, "scan_freq", "2412") + dev[1].select_network(id) + dev[1].wait_connected() + + # Verify that wpa_s->current_bss does not become invalid if oldest BSS + # entries need to be removed. + dev[0].set("bss_max_count", "1") + dev[0].scan(freq=2412, type="ONLY") + dev[0].scan(freq=2412, type="ONLY") + logger.info("STATUS:\n" + dev[0].request("STATUS")) + logger.info("STATUS:\n" + dev[0].request("BSS CURRENT")) + + dev[1].request("DISCONNECT") + dev[1].wait_disconnected() + logger.info("Move to OWE only mode (disable transition mode)") dev[0].request("DISCONNECT")