From b246e2af79af60ef298e3a4d1914f6e36171ee7e Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Mon, 2 Jun 2014 16:21:29 +0300 Subject: [PATCH] tests: Non-ASCII EAP user identity This is a regression test for printf_encode() bounds checking issues that can now be caught under valgrind. Signed-off-by: Jouni Malinen --- tests/hwsim/test_ap_eap.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/hwsim/test_ap_eap.py b/tests/hwsim/test_ap_eap.py index 570320e2f..bdf8bacbc 100644 --- a/tests/hwsim/test_ap_eap.py +++ b/tests/hwsim/test_ap_eap.py @@ -1779,3 +1779,35 @@ def test_ap_wpa2_eap_sql(dev, apdev, params): ca_cert="auth_serv/ca.pem", phase2="auth=PAP") finally: os.remove(dbfile) + +def test_ap_wpa2_eap_non_ascii_identity(dev, apdev): + """WPA2-Enterprise connection attempt using non-ASCII identity""" + params = int_eap_server_params() + hostapd.add_ap(apdev[0]['ifname'], params) + dev[0].connect("test-wpa2-eap", key_mgmt="WPA-EAP", eap="TTLS", + identity="\x80", password="password", wait_connect=False) + dev[1].connect("test-wpa2-eap", key_mgmt="WPA-EAP", eap="TTLS", + identity="a\x80", password="password", wait_connect=False) + for i in range(0, 2): + ev = dev[i].wait_event(["CTRL-EVENT-EAP-STARTED"], timeout=10) + if ev is None: + raise Exception("Association and EAP start timed out") + ev = dev[i].wait_event(["CTRL-EVENT-EAP-METHOD"], timeout=10) + if ev is None: + raise Exception("EAP method selection timed out") + +def test_ap_wpa2_eap_non_ascii_identity2(dev, apdev): + """WPA2-Enterprise connection attempt using non-ASCII identity""" + params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") + hostapd.add_ap(apdev[0]['ifname'], params) + dev[0].connect("test-wpa2-eap", key_mgmt="WPA-EAP", eap="TTLS", + identity="\x80", password="password", wait_connect=False) + dev[1].connect("test-wpa2-eap", key_mgmt="WPA-EAP", eap="TTLS", + identity="a\x80", password="password", wait_connect=False) + for i in range(0, 2): + ev = dev[i].wait_event(["CTRL-EVENT-EAP-STARTED"], timeout=10) + if ev is None: + raise Exception("Association and EAP start timed out") + ev = dev[i].wait_event(["CTRL-EVENT-EAP-METHOD"], timeout=10) + if ev is None: + raise Exception("EAP method selection timed out")