]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: RSN overriding and WPA3-Personal Compatibility Mode
authorJouni Malinen <quic_jouni@quicinc.com>
Tue, 20 Aug 2024 16:31:00 +0000 (19:31 +0300)
committerJouni Malinen <j@w1.fi>
Tue, 20 Aug 2024 16:31:00 +0000 (19:31 +0300)
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
tests/hwsim/test_rsn_override.py

index 62419f2c9f7413e102d8b4a594ddf7ff03028256..d0a2d30af8a4f458076813ed3c3a187b81938c50 100644 (file)
@@ -346,3 +346,69 @@ def test_rsn_override_sta_only(dev, apdev):
                        scan_freq="2412")
     finally:
         dev[0].set("rsn_overriding", "0")
+
+def test_rsn_override_compatibility_mode(dev, apdev):
+    """RSN overriding and WPA3-Personal Compatibility Mode"""
+    check_sae_capab(dev[0])
+
+    ssid = "test-rsn-override"
+    params = hostapd.wpa2_params(ssid=ssid,
+                                 passphrase="12345678")
+    params['rsn_override_key_mgmt'] = 'SAE'
+    params['rsn_override_key_mgmt_2'] = 'SAE-EXT-KEY'
+    params['rsn_override_pairwise'] = 'CCMP'
+    params['rsn_override_pairwise_2'] = 'GCMP-256'
+    params['rsn_override_mfp'] = '2'
+    params['rsn_override_mfp_2'] = '2'
+    params['beacon_prot'] = '1'
+    params['sae_groups'] = '19 20'
+    params['sae_require_mfp'] = '1'
+    params['sae_pwe'] = '2'
+    hapd = hostapd.add_ap(apdev[0], params)
+    bssid = hapd.own_addr()
+
+    try:
+        logger.info("RSN overriding capable STA using RSNO2E")
+        dev[0].set("rsn_overriding", "1")
+        dev[0].scan_for_bss(bssid, freq=2412)
+        dev[0].set("sae_pwe", "2")
+        dev[0].set("sae_groups", "")
+        dev[0].connect(ssid, sae_password="12345678",
+                       pairwise="GCMP-256", key_mgmt="SAE-EXT-KEY",
+                       ieee80211w="2", scan_freq="2412")
+        hapd.wait_sta()
+        dev[0].request("REMOVE_NETWORK all")
+        dev[0].wait_disconnected()
+        hapd.wait_sta_disconnect()
+
+        logger.info("RSN overriding capable STA using RSNOE")
+        dev[0].set("sae_pwe", "0")
+        dev[0].connect(ssid, sae_password="12345678",
+                       pairwise="CCMP", key_mgmt="SAE",
+                       ieee80211w="2", scan_freq="2412")
+        hapd.wait_sta()
+        dev[0].request("REMOVE_NETWORK all")
+        dev[0].wait_disconnected()
+        hapd.wait_sta_disconnect()
+
+        logger.info("RSN overriding capable STA using RSNE")
+        dev[0].connect(ssid, psk="12345678",
+                       pairwise="CCMP", key_mgmt="WPA-PSK",
+                       ieee80211w="0", scan_freq="2412")
+        hapd.wait_sta()
+        dev[0].request("REMOVE_NETWORK all")
+        dev[0].wait_disconnected()
+        hapd.wait_sta_disconnect()
+
+        logger.info("RSN overriding uncapable STA using RSNE")
+        dev[0].set("rsn_overriding", "0")
+        dev[0].connect(ssid, psk="12345678",
+                       pairwise="CCMP", key_mgmt="WPA-PSK",
+                       ieee80211w="0", scan_freq="2412")
+        hapd.wait_sta()
+        dev[0].request("REMOVE_NETWORK all")
+        dev[0].wait_disconnected()
+        hapd.wait_sta_disconnect()
+    finally:
+        dev[0].set("sae_pwe", "0")
+        dev[0].set("rsn_overriding", "0")