From a7a3e7e7f7c046e33740d99ceac8e7d0f4433577 Mon Sep 17 00:00:00 2001 From: Tim Kourt Date: Thu, 3 Nov 2016 16:21:55 -0700 Subject: [PATCH] auto-t: Add EAP TTLS fragmentation test --- .../testEAP-TTLS-Frag/connection_test.py | 56 +++++++++++++++++++ autotests/testEAP-TTLS-Frag/hw.conf | 7 +++ autotests/testEAP-TTLS-Frag/iwd.conf | 2 + .../testEAP-TTLS-Frag/ssidEAP-TTLS.8021x | 9 +++ autotests/testEAP-TTLS-Frag/ssidEAP-TTLS.conf | 14 +++++ 5 files changed, 88 insertions(+) create mode 100644 autotests/testEAP-TTLS-Frag/connection_test.py create mode 100644 autotests/testEAP-TTLS-Frag/hw.conf create mode 100644 autotests/testEAP-TTLS-Frag/iwd.conf create mode 100644 autotests/testEAP-TTLS-Frag/ssidEAP-TTLS.8021x create mode 100644 autotests/testEAP-TTLS-Frag/ssidEAP-TTLS.conf diff --git a/autotests/testEAP-TTLS-Frag/connection_test.py b/autotests/testEAP-TTLS-Frag/connection_test.py new file mode 100644 index 00000000..a1505dbd --- /dev/null +++ b/autotests/testEAP-TTLS-Frag/connection_test.py @@ -0,0 +1,56 @@ +#!/usr/bin/python3 + +import unittest +import sys + +sys.path.append('../util') +import iwd +from iwd import IWD +from iwd import NetworkType + +class Test(unittest.TestCase): + + def test_connection_success(self): + wd = IWD() + + devices = wd.list_devices(); + self.assertIsNotNone(devices) + device = devices[0] + + condition = 'not obj.scanning' + wd.wait_for_object_condition(device, condition) + + device.scan() + + condition = 'not obj.scanning' + wd.wait_for_object_condition(device, condition) + + ordered_networks = device.get_ordered_networks() + ordered_network = ordered_networks[0] + + self.assertEqual(ordered_network.name, "ssidEAP-TTLS") + self.assertEqual(ordered_network.type, NetworkType.eap) + + condition = 'not obj.connected' + wd.wait_for_object_condition(ordered_network.network_object, condition) + + ordered_network.network_object.connect() + + condition = 'obj.connected' + wd.wait_for_object_condition(ordered_network.network_object, condition) + + device.disconnect() + + condition = 'not obj.connected' + wd.wait_for_object_condition(ordered_network.network_object, condition) + + @classmethod + def setUpClass(cls): + IWD.copy_to_storage('ssidEAP-TTLS.8021x') + + @classmethod + def tearDownClass(cls): + IWD.clear_storage() + +if __name__ == '__main__': + unittest.main(exit=True) diff --git a/autotests/testEAP-TTLS-Frag/hw.conf b/autotests/testEAP-TTLS-Frag/hw.conf new file mode 100644 index 00000000..43ebd4cf --- /dev/null +++ b/autotests/testEAP-TTLS-Frag/hw.conf @@ -0,0 +1,7 @@ +[SETUP] +num_radios=2 +tmpfs_extra_stuff=../misc/certs:iwd.conf +iwd_config_dir=/tmp + +[HOSTAPD] +rad0=ssidEAP-TTLS.conf diff --git a/autotests/testEAP-TTLS-Frag/iwd.conf b/autotests/testEAP-TTLS-Frag/iwd.conf new file mode 100644 index 00000000..bdc86869 --- /dev/null +++ b/autotests/testEAP-TTLS-Frag/iwd.conf @@ -0,0 +1,2 @@ +[EAP] +mtu=100 diff --git a/autotests/testEAP-TTLS-Frag/ssidEAP-TTLS.8021x b/autotests/testEAP-TTLS-Frag/ssidEAP-TTLS.8021x new file mode 100644 index 00000000..356d7f3b --- /dev/null +++ b/autotests/testEAP-TTLS-Frag/ssidEAP-TTLS.8021x @@ -0,0 +1,9 @@ +[Security] +EAP-Method=TTLS +EAP-Identity=abc@example.com +EAP-TTLS-CACert=/tmp/certs/cert-ca.pem +EAP-TTLS-ClientCert=/tmp/certs/cert-client.pem +EAP-TTLS-ClientKey=/tmp/certs/cert-client-key-pkcs8.pem +EAP-TTLS-Phase2-Method=MD5 +EAP-TTLS-Phase2-Identity=abc@example.com +EAP-TTLS-Phase2-MD5-Secret=testpasswd diff --git a/autotests/testEAP-TTLS-Frag/ssidEAP-TTLS.conf b/autotests/testEAP-TTLS-Frag/ssidEAP-TTLS.conf new file mode 100644 index 00000000..8ca33599 --- /dev/null +++ b/autotests/testEAP-TTLS-Frag/ssidEAP-TTLS.conf @@ -0,0 +1,14 @@ +hw_mode=g +channel=1 +ssid=ssidEAP-TTLS + +fragment_size=100 + +wpa=3 +wpa_key_mgmt=WPA-EAP +ieee8021x=1 +eap_server=1 +eap_user_file=/tmp/certs/eap-user-ttls.text +ca_cert=/tmp/certs/cert-ca.pem +server_cert=/tmp/certs/cert-server.pem +private_key=/tmp/certs/cert-server-key.pem