[PATCH 3/6] tests: Test FT roaming using fixed key and mac as IDs
Benjamin Berg
benjamin at sipsolutions.net
Mon Sep 19 08:47:41 PDT 2016
From: Benjamin Berg <benjamin.berg at open-mesh.com>
Add tests to ensure that roaming between two APs work fine if they have a
common FT configured but don't have prior knowledge about each others
existance.
Signed-off-by: Benjamin Berg <benjamin.berg at open-mesh.com>
---
tests/hwsim/test_ap_ft.py | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/tests/hwsim/test_ap_ft.py b/tests/hwsim/test_ap_ft.py
index bd9b1ab..560b7b9 100644
--- a/tests/hwsim/test_ap_ft.py
+++ b/tests/hwsim/test_ap_ft.py
@@ -46,6 +46,20 @@ def ft_params(rsn=True, ssid=None, passphrase=None):
params["reassociation_deadline"] = "1000"
return params
+def ft_params_generic1(rsn=True, ssid=None, passphrase=None):
+ params = ft_params(rsn, ssid, passphrase)
+ params['nas_identifier'] = "02:00:00:00:03:00"
+ params['r1_key_holder'] = "020000000300"
+ params['ft_remote_key'] = "000102030405060708090a0b0c0d0e0f"
+ return params
+
+def ft_params_generic2(rsn=True, ssid=None, passphrase=None):
+ params = ft_params(rsn, ssid, passphrase)
+ params['nas_identifier'] = "02:00:00:00:04:00"
+ params['r1_key_holder'] = "020000000400"
+ params['ft_remote_key'] = "000102030405060708090a0b0c0d0e0f"
+ return params
+
def ft_params1(rsn=True, ssid=None, passphrase=None):
params = ft_params(rsn, ssid, passphrase)
params['nas_identifier'] = "nas1.w1.fi"
@@ -162,6 +176,20 @@ def test_ap_ft(dev, apdev):
if "[WPA2-FT/PSK-CCMP]" not in dev[0].request("SCAN_RESULTS"):
raise Exception("Scan results missing RSN element info")
+def test_ap_ft_generic(dev, apdev):
+ """WPA2-PSK-FT AP unknown remote (fixed key)"""
+ ssid = "test-ft"
+ passphrase="12345678"
+
+ params = ft_params_generic1(ssid=ssid, passphrase=passphrase)
+ hapd0 = hostapd.add_ap(apdev[0]['ifname'], params)
+ params = ft_params_generic2(ssid=ssid, passphrase=passphrase)
+ hapd1 = hostapd.add_ap(apdev[1]['ifname'], params)
+
+ run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase)
+ if "[WPA2-FT/PSK-CCMP]" not in dev[0].request("SCAN_RESULTS"):
+ raise Exception("Scan results missing RSN element info")
+
def test_ap_ft_many(dev, apdev):
"""WPA2-PSK-FT AP multiple times"""
ssid = "test-ft"
@@ -218,6 +246,20 @@ def test_ap_ft_over_ds(dev, apdev):
check_mib(dev[0], [ ("dot11RSNAAuthenticationSuiteRequested", "00-0f-ac-4"),
("dot11RSNAAuthenticationSuiteSelected", "00-0f-ac-4") ])
+def test_ap_ft_over_ds_generic(dev, apdev):
+ """WPA2-PSK-FT AP over DS with unknown remote (fixed key)"""
+ ssid = "test-ft"
+ passphrase="12345678"
+
+ params = ft_params_generic1(ssid=ssid, passphrase=passphrase)
+ hapd0 = hostapd.add_ap(apdev[0]['ifname'], params)
+ params = ft_params_generic2(ssid=ssid, passphrase=passphrase)
+ hapd1 = hostapd.add_ap(apdev[1]['ifname'], params)
+
+ run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True)
+ check_mib(dev[0], [ ("dot11RSNAAuthenticationSuiteRequested", "00-0f-ac-4"),
+ ("dot11RSNAAuthenticationSuiteSelected", "00-0f-ac-4") ])
+
def test_ap_ft_over_ds_many(dev, apdev):
"""WPA2-PSK-FT AP over DS multiple times"""
ssid = "test-ft"
--
2.9.3
More information about the Hostap
mailing list