tests: VLAN tests using RADIUS tunnel attributes
authorJouni Malinen <j@w1.fi>
Sat, 8 Mar 2014 09:29:35 +0000 (11:29 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 8 Mar 2014 09:35:08 +0000 (11:35 +0200)
Signed-off-by: Jouni Malinen <j@w1.fi>
tests/hwsim/auth_serv/eap_user.conf
tests/hwsim/test_ap_vlan.py

index ee90547..aaa4444 100644 (file)
@@ -8,6 +8,16 @@
 "vendor-test"  VENDOR-TEST     "foo"
 "osen@example.com"     WFA-UNAUTH-TLS
 
+"vlan1"        PAX     0123456789abcdef0123456789abcdef
+radius_accept_attr=64:d:13
+radius_accept_attr=65:d:6
+radius_accept_attr=81:s:1
+
+"vlan2"        PAX     0123456789abcdef0123456789abcdef
+radius_accept_attr=64:d:13
+radius_accept_attr=65:d:6
+radius_accept_attr=81:s:2
+
 "0"*           AKA
 "1"*           SIM
 "2"*           AKA
index 072d8d3..cf7fecb 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 #
 # Test cases for AP VLAN
-# Copyright (c) 2013, Jouni Malinen <j@w1.fi>
+# Copyright (c) 2013-2014, Jouni Malinen <j@w1.fi>
 #
 # This software may be distributed under the terms of the BSD license.
 # See README for more details.
@@ -42,3 +42,46 @@ def test_ap_vlan_wpa2(dev, apdev):
     hwsim_utils.test_connectivity(dev[0].ifname, "brvlan1")
     hwsim_utils.test_connectivity(dev[1].ifname, "brvlan2")
     hwsim_utils.test_connectivity(dev[2].ifname, apdev[0]['ifname'])
+
+def test_ap_vlan_wpa2_radius(dev, apdev):
+    """AP VLAN with WPA2-Enterprise and RADIUS attributes"""
+    params = hostapd.wpa2_eap_params(ssid="test-vlan")
+    params['dynamic_vlan'] = "1";
+    hostapd.add_ap(apdev[0]['ifname'], params)
+
+    dev[0].connect("test-vlan", key_mgmt="WPA-EAP", eap="PAX",
+                   identity="vlan1",
+                   password_hex="0123456789abcdef0123456789abcdef",
+                   scan_freq="2412")
+    dev[1].connect("test-vlan", key_mgmt="WPA-EAP", eap="PAX",
+                   identity="vlan2",
+                   password_hex="0123456789abcdef0123456789abcdef",
+                   scan_freq="2412")
+    dev[2].connect("test-vlan", key_mgmt="WPA-EAP", eap="PAX",
+                   identity="pax.user@example.com",
+                   password_hex="0123456789abcdef0123456789abcdef",
+                   scan_freq="2412")
+    hwsim_utils.test_connectivity(dev[0].ifname, "brvlan1")
+    hwsim_utils.test_connectivity(dev[1].ifname, "brvlan2")
+    hwsim_utils.test_connectivity(dev[2].ifname, apdev[0]['ifname'])
+
+def test_ap_vlan_wpa2_radius_required(dev, apdev):
+    """AP VLAN with WPA2-Enterprise and RADIUS attributes required"""
+    params = hostapd.wpa2_eap_params(ssid="test-vlan")
+    params['dynamic_vlan'] = "2";
+    hostapd.add_ap(apdev[0]['ifname'], params)
+
+    dev[0].connect("test-vlan", key_mgmt="WPA-EAP", eap="PAX",
+                   identity="vlan1",
+                   password_hex="0123456789abcdef0123456789abcdef",
+                   scan_freq="2412")
+    dev[2].connect("test-vlan", key_mgmt="WPA-EAP", eap="PAX",
+                   identity="pax.user@example.com",
+                   password_hex="0123456789abcdef0123456789abcdef",
+                   scan_freq="2412", wait_connect=False)
+    ev = dev[2].wait_event(["CTRL-EVENT-CONNECTED",
+                            "CTRL-EVENT-DISCONNECTED"], timeout=20)
+    if ev is None:
+        raise Exception("Timeout on connection attempt")
+    if "CTRL-EVENT-CONNECTED" in ev:
+        raise Exception("Unexpected success without tunnel parameters")