Browse Source

tests: WPA2-PSK-FT AP and RIC

Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen 8 years ago
parent
commit
fd7205fabe
1 changed files with 37 additions and 4 deletions
  1. 37 4
      tests/hwsim/test_ap_ft.py

+ 37 - 4
tests/hwsim/test_ap_ft.py

@@ -101,7 +101,8 @@ def ft_params2_r0kh_mismatch(rsn=True, ssid=None, passphrase=None):
 
 def run_roams(dev, apdev, hapd0, hapd1, ssid, passphrase, over_ds=False,
               sae=False, eap=False, fail_test=False, roams=1,
-              pairwise_cipher="CCMP", group_cipher="TKIP CCMP", ptk_rekey="0"):
+              pairwise_cipher="CCMP", group_cipher="TKIP CCMP", ptk_rekey="0",
+              test_connectivity=True):
     logger.info("Connect to first AP")
     if eap:
         dev.connect(ssid, key_mgmt="FT-EAP", proto="WPA2", ieee80211w="1",
@@ -129,7 +130,8 @@ def run_roams(dev, apdev, hapd0, hapd1, ssid, passphrase, over_ds=False,
         ap2 = apdev[0]
         hapd1ap = hapd1
         hapd2ap = hapd0
-    hwsim_utils.test_connectivity(dev, hapd1ap)
+    if test_connectivity:
+        hwsim_utils.test_connectivity(dev, hapd1ap)
 
     dev.scan_for_bss(ap2['bssid'], freq="2412")
 
@@ -143,7 +145,7 @@ def run_roams(dev, apdev, hapd0, hapd1, ssid, passphrase, over_ds=False,
             return
         if dev.get_status_field('bssid') != ap2['bssid']:
             raise Exception("Did not connect to correct AP")
-        if i == 0 or i == roams - 1:
+        if (i == 0 or i == roams - 1) and test_connectivity:
             hwsim_utils.test_connectivity(dev, hapd2ap)
 
         logger.info("Roam back to the first AP")
@@ -153,7 +155,7 @@ def run_roams(dev, apdev, hapd0, hapd1, ssid, passphrase, over_ds=False,
             dev.roam(ap1['bssid'])
         if dev.get_status_field('bssid') != ap1['bssid']:
             raise Exception("Did not connect to correct AP")
-        if i == 0 or i == roams - 1:
+        if (i == 0 or i == roams - 1) and test_connectivity:
             hwsim_utils.test_connectivity(dev, hapd1ap)
 
 def test_ap_ft(dev, apdev):
@@ -1656,3 +1658,34 @@ def test_ap_ft_extra_ie(dev, apdev):
         dev[0].request("DISCONNECT")
     finally:
         dev[0].request("VENDOR_ELEM_REMOVE 13 *")
+
+def test_ap_ft_ric(dev, apdev):
+    """WPA2-PSK-FT AP and RIC"""
+    ssid = "test-ft"
+    passphrase="12345678"
+
+    params = ft_params1(ssid=ssid, passphrase=passphrase)
+    hapd0 = hostapd.add_ap(apdev[0], params)
+    params = ft_params2(ssid=ssid, passphrase=passphrase)
+    hapd1 = hostapd.add_ap(apdev[1], params)
+
+    dev[0].set("ric_ies", "")
+    dev[0].set("ric_ies", '""')
+    if "FAIL" not in dev[0].request("SET ric_ies q"):
+        raise Exception("Invalid ric_ies value accepted")
+
+    tests = [ "3900",
+              "3900ff04eeeeeeee",
+              "390400000000",
+              "390400000000" + "390400000000",
+              "390400000000" + "dd050050f20202",
+              "390400000000" + "dd3d0050f2020201" + 55*"00",
+              "390400000000" + "dd3d0050f2020201aa300010270000000000000000000000000000000000000000000000000000ffffff7f00000000000000000000000040420f00ffff0000",
+              "390401010000" + "dd3d0050f2020201aa3000dc050000000000000000000000000000000000000000000000000000dc050000000000000000000000000000808d5b0028230000" ]
+    for t in tests:
+        dev[0].set("ric_ies", t)
+        run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase,
+                  test_connectivity=False)
+        dev[0].request("REMOVE_NETWORK all")
+        dev[0].wait_disconnected()
+        dev[0].dump_monitor()