From 48ef12e75fd0277b7d75cf5c5dd0add4e8e95acc Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 7 Mar 2014 23:21:17 +0200 Subject: [PATCH] tests: Verify HS 2.0 deauth request from RADIUS Access-Accept Signed-off-by: Jouni Malinen --- tests/hwsim/auth_serv/eap_user.conf | 3 +++ tests/hwsim/test_ap_hs20.py | 24 ++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/tests/hwsim/auth_serv/eap_user.conf b/tests/hwsim/auth_serv/eap_user.conf index f31fae761..ee9054765 100644 --- a/tests/hwsim/auth_serv/eap_user.conf +++ b/tests/hwsim/auth_serv/eap_user.conf @@ -39,3 +39,6 @@ "user" MSCHAPV2,MD5,GTC "password" [2] "cert user" TLS [2] + +"hs20-deauth-test" TTLS-MSCHAPV2 "password" [2] +radius_accept_attr=26:x:00009f680405016400 diff --git a/tests/hwsim/test_ap_hs20.py b/tests/hwsim/test_ap_hs20.py index adbfbd33b..1d737dd2b 100644 --- a/tests/hwsim/test_ap_hs20.py +++ b/tests/hwsim/test_ap_hs20.py @@ -1477,6 +1477,30 @@ def test_ap_hs20_deauth_req_bss(dev, apdev): if ev is not None: raise Exception("Unexpected connection attempt") +def test_ap_hs20_deauth_req_from_radius(dev, apdev): + """Hotspot 2.0 connection and deauthentication request from RADIUS""" + bssid = apdev[0]['bssid'] + params = hs20_ap_params() + params['nai_realm'] = [ "0,example.com,21[2:4]" ] + params['hs20_deauth_req_timeout'] = "2" + hostapd.add_ap(apdev[0]['ifname'], params) + + dev[0].request("SET pmf 2") + dev[0].hs20_enable() + dev[0].add_cred_values({ 'realm': "example.com", + 'username': "hs20-deauth-test", + 'password': "password" }) + interworking_select(dev[0], bssid, freq="2412") + interworking_connect(dev[0], bssid, "TTLS") + ev = dev[0].wait_event(["HS20-DEAUTH-IMMINENT-NOTICE"], timeout=5) + if ev is None: + raise Exception("Timeout on deauth imminent notice") + if " 1 100" not in ev: + raise Exception("Unexpected deauth imminent contents") + ev = dev[0].wait_event(["CTRL-EVENT-DISCONNECTED"], timeout=3) + if ev is None: + raise Exception("Timeout on disconnection") + def test_ap_hs20_osen(dev, apdev): """Hotspot 2.0 OSEN connection""" params = { 'ssid': "osen",