]> git.ipfire.org Git - thirdparty/hostap.git/blobdiff - tests/hwsim/test_ibss.py
tests: Verify that wpa_supplicant clears keys from memory
[thirdparty/hostap.git] / tests / hwsim / test_ibss.py
index 112e8a9e81c2a648233f0b820fa7f0bb130698bd..b5a855746eb93d8917fed5f3642198f421e398f8 100644 (file)
@@ -8,6 +8,7 @@ import logging
 logger = logging.getLogger()
 import time
 import re
+import subprocess
 
 import hwsim_utils
 
@@ -45,10 +46,13 @@ def wait_4way_handshake2(dev1, dev2, dev3):
     if ev is None:
         raise Exception("4-way handshake in IBSS timed out")
 
-def add_ibss(dev, ssid, psk=None, proto=None, key_mgmt=None, pairwise=None, group=None, beacon_int=None, bssid=None):
+def add_ibss(dev, ssid, psk=None, proto=None, key_mgmt=None, pairwise=None,
+             group=None, beacon_int=None, bssid=None, scan_freq=None):
     id = dev.add_network()
     dev.set_network(id, "mode", "1")
     dev.set_network(id, "frequency", "2412")
+    if scan_freq:
+        dev.set_network(id, "scan_freq", str(scan_freq))
     dev.set_network_quoted(id, "ssid", ssid)
     if psk:
         dev.set_network_quoted(id, "psk", psk)
@@ -164,9 +168,7 @@ def test_ibss_wpa_none(dev):
         logger.info("STA0 BSSID " + bssid0 + " differs from STA2 BSSID " + bssid2)
         bssid2 = wait_ibss_connection(dev[2])
 
-    print bssid0
-    print bssid1
-    print bssid2
+    logger.info("bssid0=%s bssid1=%s bssid2=%s" % (bssid0, bssid1, bssid2))
 
     bss = dev[0].get_bss(bssid0)
     if not bss:
@@ -223,8 +225,7 @@ def test_ibss_wpa_none_ccmp(dev):
         logger.info("STA0 BSSID " + bssid0 + " differs from STA1 BSSID " + bssid1)
         bssid1 = wait_ibss_connection(dev[1])
 
-    print bssid0
-    print bssid1
+    logger.info("bssid0=%s bssid1=%s" % (bssid0, bssid1))
 
     # Allow some time for all peers to complete key setup
     time.sleep(1)
@@ -286,3 +287,24 @@ def test_ibss_open_fixed_bssid(dev):
     finally:
         dev[0].request("AP_SCAN 1")
         dev[1].request("AP_SCAN 1")
+
+def test_ibss_open_retry(dev):
+    """IBSS open (no security) with cfg80211 retry workaround"""
+    subprocess.check_call(['iw', 'dev', dev[0].ifname, 'set', 'type', 'adhoc'])
+    subprocess.check_call(['iw', 'dev', dev[0].ifname, 'ibss', 'join',
+                           'ibss-test', '2412', 'HT20', 'fixed-freq',
+                           '02:22:33:44:55:66'])
+    ssid="ibss"
+    try:
+        dev[0].request("AP_SCAN 2")
+        id = add_ibss(dev[0], ssid, key_mgmt="NONE", beacon_int="150",
+                      bssid="02:33:44:55:66:77", scan_freq=2412)
+        #connect_ibss_cmd(dev[0], id)
+        dev[0].request("REASSOCIATE")
+        bssid0 = wait_ibss_connection(dev[0])
+
+        subprocess.check_call(['iw', 'dev', dev[0].ifname, 'ibss', 'leave'])
+        time.sleep(1)
+        dev[0].request("DISCONNECT")
+    finally:
+        dev[0].request("AP_SCAN 1")