tests: Skip EAP-MD5 and EAP-MSCHAPV2 test cases in FIPS mode

These would require MD5 or MD4 which are not allowed in FIPS mode.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2015-08-01 18:56:06 +03:00
parent ca158ea621
commit e7ac04ceaf
3 changed files with 75 additions and 1 deletions

View file

@ -993,6 +993,7 @@ def test_ap_wpa2_eap_ttls_eap_gtc_server_oom(dev, apdev):
def test_ap_wpa2_eap_ttls_eap_md5(dev, apdev): def test_ap_wpa2_eap_ttls_eap_md5(dev, apdev):
"""WPA2-Enterprise connection using EAP-TTLS/EAP-MD5""" """WPA2-Enterprise connection using EAP-TTLS/EAP-MD5"""
check_eap_capa(dev[0], "MD5")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
eap_connect(dev[0], apdev[0], "TTLS", "user", eap_connect(dev[0], apdev[0], "TTLS", "user",
@ -1003,6 +1004,7 @@ def test_ap_wpa2_eap_ttls_eap_md5(dev, apdev):
def test_ap_wpa2_eap_ttls_eap_md5_incorrect_password(dev, apdev): def test_ap_wpa2_eap_ttls_eap_md5_incorrect_password(dev, apdev):
"""WPA2-Enterprise connection using EAP-TTLS/EAP-MD5 - incorrect password""" """WPA2-Enterprise connection using EAP-TTLS/EAP-MD5 - incorrect password"""
check_eap_capa(dev[0], "MD5")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
eap_connect(dev[0], apdev[0], "TTLS", "user", eap_connect(dev[0], apdev[0], "TTLS", "user",
@ -1012,6 +1014,7 @@ def test_ap_wpa2_eap_ttls_eap_md5_incorrect_password(dev, apdev):
def test_ap_wpa2_eap_ttls_eap_md5_no_password(dev, apdev): def test_ap_wpa2_eap_ttls_eap_md5_no_password(dev, apdev):
"""WPA2-Enterprise connection using EAP-TTLS/EAP-MD5 - no password""" """WPA2-Enterprise connection using EAP-TTLS/EAP-MD5 - no password"""
check_eap_capa(dev[0], "MD5")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
eap_connect(dev[0], apdev[0], "TTLS", "user-no-passwd", eap_connect(dev[0], apdev[0], "TTLS", "user-no-passwd",
@ -1021,6 +1024,7 @@ def test_ap_wpa2_eap_ttls_eap_md5_no_password(dev, apdev):
def test_ap_wpa2_eap_ttls_eap_md5_server_oom(dev, apdev): def test_ap_wpa2_eap_ttls_eap_md5_server_oom(dev, apdev):
"""WPA2-Enterprise connection using EAP-TTLS/EAP-MD5 - server OOM""" """WPA2-Enterprise connection using EAP-TTLS/EAP-MD5 - server OOM"""
check_eap_capa(dev[0], "MD5")
params = int_eap_server_params() params = int_eap_server_params()
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
with alloc_fail(hapd, 1, "eap_md5_init"): with alloc_fail(hapd, 1, "eap_md5_init"):
@ -1045,6 +1049,7 @@ def test_ap_wpa2_eap_ttls_eap_md5_server_oom(dev, apdev):
def test_ap_wpa2_eap_ttls_eap_mschapv2(dev, apdev): def test_ap_wpa2_eap_ttls_eap_mschapv2(dev, apdev):
"""WPA2-Enterprise connection using EAP-TTLS/EAP-MSCHAPv2""" """WPA2-Enterprise connection using EAP-TTLS/EAP-MSCHAPv2"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
eap_connect(dev[0], apdev[0], "TTLS", "user", eap_connect(dev[0], apdev[0], "TTLS", "user",
@ -1062,6 +1067,7 @@ def test_ap_wpa2_eap_ttls_eap_mschapv2(dev, apdev):
def test_ap_wpa2_eap_ttls_eap_mschapv2_no_password(dev, apdev): def test_ap_wpa2_eap_ttls_eap_mschapv2_no_password(dev, apdev):
"""WPA2-Enterprise connection using EAP-TTLS/EAP-MSCHAPv2 - no password""" """WPA2-Enterprise connection using EAP-TTLS/EAP-MSCHAPv2 - no password"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
eap_connect(dev[0], apdev[0], "TTLS", "user-no-passwd", eap_connect(dev[0], apdev[0], "TTLS", "user-no-passwd",
@ -1071,6 +1077,7 @@ def test_ap_wpa2_eap_ttls_eap_mschapv2_no_password(dev, apdev):
def test_ap_wpa2_eap_ttls_eap_mschapv2_server_oom(dev, apdev): def test_ap_wpa2_eap_ttls_eap_mschapv2_server_oom(dev, apdev):
"""WPA2-Enterprise connection using EAP-TTLS/EAP-MSCHAPv2 - server OOM""" """WPA2-Enterprise connection using EAP-TTLS/EAP-MSCHAPv2 - server OOM"""
check_eap_capa(dev[0], "MSCHAPV2")
params = int_eap_server_params() params = int_eap_server_params()
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
with alloc_fail(hapd, 1, "eap_mschapv2_init"): with alloc_fail(hapd, 1, "eap_mschapv2_init"):
@ -1154,6 +1161,7 @@ def test_ap_wpa2_eap_fast_eap_aka(dev, apdev):
def test_ap_wpa2_eap_peap_eap_mschapv2(dev, apdev): def test_ap_wpa2_eap_peap_eap_mschapv2(dev, apdev):
"""WPA2-Enterprise connection using EAP-PEAP/EAP-MSCHAPv2""" """WPA2-Enterprise connection using EAP-PEAP/EAP-MSCHAPv2"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
eap_connect(dev[0], apdev[0], "PEAP", "user", eap_connect(dev[0], apdev[0], "PEAP", "user",
@ -1183,6 +1191,7 @@ def test_ap_wpa2_eap_peap_eap_mschapv2(dev, apdev):
def test_ap_wpa2_eap_peap_eap_mschapv2_domain(dev, apdev): def test_ap_wpa2_eap_peap_eap_mschapv2_domain(dev, apdev):
"""WPA2-Enterprise connection using EAP-PEAP/EAP-MSCHAPv2 with domain""" """WPA2-Enterprise connection using EAP-PEAP/EAP-MSCHAPv2 with domain"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
eap_connect(dev[0], apdev[0], "PEAP", "DOMAIN\user3", eap_connect(dev[0], apdev[0], "PEAP", "DOMAIN\user3",
@ -1193,6 +1202,7 @@ def test_ap_wpa2_eap_peap_eap_mschapv2_domain(dev, apdev):
def test_ap_wpa2_eap_peap_eap_mschapv2_incorrect_password(dev, apdev): def test_ap_wpa2_eap_peap_eap_mschapv2_incorrect_password(dev, apdev):
"""WPA2-Enterprise connection using EAP-PEAP/EAP-MSCHAPv2 - incorrect password""" """WPA2-Enterprise connection using EAP-PEAP/EAP-MSCHAPv2 - incorrect password"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
eap_connect(dev[0], apdev[0], "PEAP", "user", eap_connect(dev[0], apdev[0], "PEAP", "user",
@ -1202,6 +1212,7 @@ def test_ap_wpa2_eap_peap_eap_mschapv2_incorrect_password(dev, apdev):
def test_ap_wpa2_eap_peap_crypto_binding(dev, apdev): def test_ap_wpa2_eap_peap_crypto_binding(dev, apdev):
"""WPA2-Enterprise connection using EAP-PEAPv0/EAP-MSCHAPv2 and crypto binding""" """WPA2-Enterprise connection using EAP-PEAPv0/EAP-MSCHAPv2 and crypto binding"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
eap_connect(dev[0], apdev[0], "PEAP", "user", password="password", eap_connect(dev[0], apdev[0], "PEAP", "user", password="password",
@ -1222,6 +1233,7 @@ def test_ap_wpa2_eap_peap_crypto_binding(dev, apdev):
def test_ap_wpa2_eap_peap_crypto_binding_server_oom(dev, apdev): def test_ap_wpa2_eap_peap_crypto_binding_server_oom(dev, apdev):
"""WPA2-Enterprise connection using EAP-PEAPv0/EAP-MSCHAPv2 and crypto binding with server OOM""" """WPA2-Enterprise connection using EAP-PEAPv0/EAP-MSCHAPv2 and crypto binding with server OOM"""
check_eap_capa(dev[0], "MSCHAPV2")
params = int_eap_server_params() params = int_eap_server_params()
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
with alloc_fail(hapd, 1, "eap_mschapv2_getKey"): with alloc_fail(hapd, 1, "eap_mschapv2_getKey"):
@ -1233,6 +1245,7 @@ def test_ap_wpa2_eap_peap_crypto_binding_server_oom(dev, apdev):
def test_ap_wpa2_eap_peap_params(dev, apdev): def test_ap_wpa2_eap_peap_params(dev, apdev):
"""WPA2-Enterprise connection using EAP-PEAPv0/EAP-MSCHAPv2 and various parameters""" """WPA2-Enterprise connection using EAP-PEAPv0/EAP-MSCHAPv2 and various parameters"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
eap_connect(dev[0], apdev[0], "PEAP", "user", eap_connect(dev[0], apdev[0], "PEAP", "user",
@ -1345,6 +1358,7 @@ def test_ap_wpa2_eap_tls_pkcs12_blob(dev, apdev):
def test_ap_wpa2_eap_tls_neg_incorrect_trust_root(dev, apdev): def test_ap_wpa2_eap_tls_neg_incorrect_trust_root(dev, apdev):
"""WPA2-Enterprise negative test - incorrect trust root""" """WPA2-Enterprise negative test - incorrect trust root"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
cert = read_pem("auth_serv/ca-incorrect.pem") cert = read_pem("auth_serv/ca-incorrect.pem")
@ -2159,6 +2173,7 @@ def test_ap_wpa2_eap_psk_oom(dev, apdev):
def test_ap_wpa_eap_peap_eap_mschapv2(dev, apdev): def test_ap_wpa_eap_peap_eap_mschapv2(dev, apdev):
"""WPA-Enterprise connection using EAP-PEAP/EAP-MSCHAPv2""" """WPA-Enterprise connection using EAP-PEAP/EAP-MSCHAPv2"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hostapd.wpa_eap_params(ssid="test-wpa-eap") params = hostapd.wpa_eap_params(ssid="test-wpa-eap")
hapd = hostapd.add_ap(apdev[0]['ifname'], params) hapd = hostapd.add_ap(apdev[0]['ifname'], params)
dev[0].connect("test-wpa-eap", key_mgmt="WPA-EAP", eap="PEAP", dev[0].connect("test-wpa-eap", key_mgmt="WPA-EAP", eap="PEAP",
@ -2182,6 +2197,7 @@ def test_ap_wpa_eap_peap_eap_mschapv2(dev, apdev):
def test_ap_wpa2_eap_interactive(dev, apdev): def test_ap_wpa2_eap_interactive(dev, apdev):
"""WPA2-Enterprise connection using interactive identity/password entry""" """WPA2-Enterprise connection using interactive identity/password entry"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap")
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
hapd = hostapd.Hostapd(apdev[0]['ifname']) hapd = hostapd.Hostapd(apdev[0]['ifname'])

View file

@ -160,6 +160,7 @@ def check_probe_resp(wt, bssid_unexpected, bssid_expected):
def test_ap_anqp_sharing(dev, apdev): def test_ap_anqp_sharing(dev, apdev):
"""ANQP sharing within ESS and explicit unshare""" """ANQP sharing within ESS and explicit unshare"""
check_eap_capa(dev[0], "MSCHAPV2")
dev[0].flush_scan_cache() dev[0].flush_scan_cache()
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
@ -211,6 +212,7 @@ def test_ap_anqp_sharing(dev, apdev):
def test_ap_nai_home_realm_query(dev, apdev): def test_ap_nai_home_realm_query(dev, apdev):
"""NAI Home Realm Query""" """NAI Home Realm Query"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['nai_realm'] = [ "0,example.com,13[5:6],21[2:4][5:7]", params['nai_realm'] = [ "0,example.com,13[5:6],21[2:4][5:7]",
@ -478,6 +480,7 @@ def test_ap_hs20_ext_sim_roaming(dev, apdev):
def test_ap_hs20_username(dev, apdev): def test_ap_hs20_username(dev, apdev):
"""Hotspot 2.0 connection in username/password credential""" """Hotspot 2.0 connection in username/password credential"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['hessid'] = bssid params['hessid'] = bssid
@ -507,6 +510,7 @@ def test_ap_hs20_username(dev, apdev):
def test_ap_hs20_connect_api(dev, apdev): def test_ap_hs20_connect_api(dev, apdev):
"""Hotspot 2.0 connection with connect API""" """Hotspot 2.0 connection with connect API"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['hessid'] = bssid params['hessid'] = bssid
@ -534,6 +538,7 @@ def test_ap_hs20_connect_api(dev, apdev):
def test_ap_hs20_auto_interworking(dev, apdev): def test_ap_hs20_auto_interworking(dev, apdev):
"""Hotspot 2.0 connection with auto_interworking=1""" """Hotspot 2.0 connection with auto_interworking=1"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['hessid'] = bssid params['hessid'] = bssid
@ -644,10 +649,12 @@ def test_ap_hs20_eap_unknown(dev, apdev):
def test_ap_hs20_eap_peap_mschapv2(dev, apdev): def test_ap_hs20_eap_peap_mschapv2(dev, apdev):
"""Hotspot 2.0 connection with PEAP/MSCHAPV2""" """Hotspot 2.0 connection with PEAP/MSCHAPV2"""
check_eap_capa(dev[0], "MSCHAPV2")
eap_test(dev[0], apdev[0], "25[3:26]", "PEAP", "user") eap_test(dev[0], apdev[0], "25[3:26]", "PEAP", "user")
def test_ap_hs20_eap_peap_default(dev, apdev): def test_ap_hs20_eap_peap_default(dev, apdev):
"""Hotspot 2.0 connection with PEAP/MSCHAPV2 (as default)""" """Hotspot 2.0 connection with PEAP/MSCHAPV2 (as default)"""
check_eap_capa(dev[0], "MSCHAPV2")
eap_test(dev[0], apdev[0], "25", "PEAP", "user") eap_test(dev[0], apdev[0], "25", "PEAP", "user")
def test_ap_hs20_eap_peap_gtc(dev, apdev): def test_ap_hs20_eap_peap_gtc(dev, apdev):
@ -677,6 +684,7 @@ def test_ap_hs20_eap_ttls_mschap(dev, apdev):
def test_ap_hs20_eap_ttls_eap_mschapv2(dev, apdev): def test_ap_hs20_eap_ttls_eap_mschapv2(dev, apdev):
"""Hotspot 2.0 connection with TTLS/EAP-MSCHAPv2""" """Hotspot 2.0 connection with TTLS/EAP-MSCHAPv2"""
check_eap_capa(dev[0], "MSCHAPV2")
eap_test(dev[0], apdev[0], "21[3:26][6:7][99:99]", "TTLS", "user") eap_test(dev[0], apdev[0], "21[3:26][6:7][99:99]", "TTLS", "user")
def test_ap_hs20_eap_ttls_eap_unknown(dev, apdev): def test_ap_hs20_eap_ttls_eap_unknown(dev, apdev):
@ -824,6 +832,7 @@ def test_ap_hs20_roaming_consortium(dev, apdev):
def test_ap_hs20_username_roaming(dev, apdev): def test_ap_hs20_username_roaming(dev, apdev):
"""Hotspot 2.0 connection in username/password credential (roaming)""" """Hotspot 2.0 connection in username/password credential (roaming)"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['nai_realm'] = [ "0,example.com,13[5:6],21[2:4][5:7]", params['nai_realm'] = [ "0,example.com,13[5:6],21[2:4][5:7]",
@ -845,6 +854,7 @@ def test_ap_hs20_username_roaming(dev, apdev):
def test_ap_hs20_username_unknown(dev, apdev): def test_ap_hs20_username_unknown(dev, apdev):
"""Hotspot 2.0 connection in username/password credential (no domain in cred)""" """Hotspot 2.0 connection in username/password credential (no domain in cred)"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['hessid'] = bssid params['hessid'] = bssid
@ -861,6 +871,7 @@ def test_ap_hs20_username_unknown(dev, apdev):
def test_ap_hs20_username_unknown2(dev, apdev): def test_ap_hs20_username_unknown2(dev, apdev):
"""Hotspot 2.0 connection in username/password credential (no domain advertized)""" """Hotspot 2.0 connection in username/password credential (no domain advertized)"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['hessid'] = bssid params['hessid'] = bssid
@ -879,6 +890,7 @@ def test_ap_hs20_username_unknown2(dev, apdev):
def test_ap_hs20_gas_while_associated(dev, apdev): def test_ap_hs20_gas_while_associated(dev, apdev):
"""Hotspot 2.0 connection with GAS query while associated""" """Hotspot 2.0 connection with GAS query while associated"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['hessid'] = bssid params['hessid'] = bssid
@ -902,6 +914,7 @@ def test_ap_hs20_gas_while_associated(dev, apdev):
def test_ap_hs20_gas_while_associated_with_pmf(dev, apdev): def test_ap_hs20_gas_while_associated_with_pmf(dev, apdev):
"""Hotspot 2.0 connection with GAS query while associated and using PMF""" """Hotspot 2.0 connection with GAS query while associated and using PMF"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_gas_while_associated_with_pmf(dev, apdev) _test_ap_hs20_gas_while_associated_with_pmf(dev, apdev)
finally: finally:
@ -938,6 +951,7 @@ def _test_ap_hs20_gas_while_associated_with_pmf(dev, apdev):
def test_ap_hs20_gas_frag_while_associated(dev, apdev): def test_ap_hs20_gas_frag_while_associated(dev, apdev):
"""Hotspot 2.0 connection with fragmented GAS query while associated""" """Hotspot 2.0 connection with fragmented GAS query while associated"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['hessid'] = bssid params['hessid'] = bssid
@ -963,6 +977,7 @@ def test_ap_hs20_gas_frag_while_associated(dev, apdev):
def test_ap_hs20_multiple_connects(dev, apdev): def test_ap_hs20_multiple_connects(dev, apdev):
"""Hotspot 2.0 connection through multiple network selections""" """Hotspot 2.0 connection through multiple network selections"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['hessid'] = bssid params['hessid'] = bssid
@ -1100,6 +1115,7 @@ def default_cred(domain=None, user="hs20-test"):
def test_ap_hs20_prefer_home(dev, apdev): def test_ap_hs20_prefer_home(dev, apdev):
"""Hotspot 2.0 required roaming consortium""" """Hotspot 2.0 required roaming consortium"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hs20_ap_params() params = hs20_ap_params()
params['domain_name'] = "example.org" params['domain_name'] = "example.org"
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -1117,6 +1133,7 @@ def test_ap_hs20_prefer_home(dev, apdev):
def test_ap_hs20_req_roaming_consortium(dev, apdev): def test_ap_hs20_req_roaming_consortium(dev, apdev):
"""Hotspot 2.0 required roaming consortium""" """Hotspot 2.0 required roaming consortium"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hs20_ap_params() params = hs20_ap_params()
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -1141,6 +1158,7 @@ def test_ap_hs20_req_roaming_consortium(dev, apdev):
def test_ap_hs20_excluded_ssid(dev, apdev): def test_ap_hs20_excluded_ssid(dev, apdev):
"""Hotspot 2.0 exclusion based on SSID""" """Hotspot 2.0 exclusion based on SSID"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hs20_ap_params() params = hs20_ap_params()
params['roaming_consortium'] = [ "223344" ] params['roaming_consortium'] = [ "223344" ]
params['anqp_3gpp_cell_net'] = "555,444" params['anqp_3gpp_cell_net'] = "555,444"
@ -1184,6 +1202,7 @@ def test_ap_hs20_excluded_ssid(dev, apdev):
def test_ap_hs20_roam_to_higher_prio(dev, apdev): def test_ap_hs20_roam_to_higher_prio(dev, apdev):
"""Hotspot 2.0 and roaming from current to higher priority network""" """Hotspot 2.0 and roaming from current to higher priority network"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params(ssid="test-hs20-visited") params = hs20_ap_params(ssid="test-hs20-visited")
params['domain_name'] = "visited.example.org" params['domain_name'] = "visited.example.org"
@ -1222,6 +1241,7 @@ def test_ap_hs20_roam_to_higher_prio(dev, apdev):
def test_ap_hs20_domain_suffix_match_full(dev, apdev): def test_ap_hs20_domain_suffix_match_full(dev, apdev):
"""Hotspot 2.0 and domain_suffix_match""" """Hotspot 2.0 and domain_suffix_match"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -1251,6 +1271,7 @@ def test_ap_hs20_domain_suffix_match_full(dev, apdev):
def test_ap_hs20_domain_suffix_match(dev, apdev): def test_ap_hs20_domain_suffix_match(dev, apdev):
"""Hotspot 2.0 and domain_suffix_match""" """Hotspot 2.0 and domain_suffix_match"""
check_eap_capa(dev[0], "MSCHAPV2")
check_domain_match_full(dev[0]) check_domain_match_full(dev[0])
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
@ -1269,6 +1290,7 @@ def test_ap_hs20_domain_suffix_match(dev, apdev):
def test_ap_hs20_roaming_partner_preference(dev, apdev): def test_ap_hs20_roaming_partner_preference(dev, apdev):
"""Hotspot 2.0 and roaming partner preference""" """Hotspot 2.0 and roaming partner preference"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hs20_ap_params() params = hs20_ap_params()
params['domain_name'] = "roaming.example.org" params['domain_name'] = "roaming.example.org"
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -1293,6 +1315,7 @@ def test_ap_hs20_roaming_partner_preference(dev, apdev):
def test_ap_hs20_max_bss_load(dev, apdev): def test_ap_hs20_max_bss_load(dev, apdev):
"""Hotspot 2.0 and maximum BSS load""" """Hotspot 2.0 and maximum BSS load"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hs20_ap_params() params = hs20_ap_params()
params['bss_load_test'] = "12:200:20000" params['bss_load_test'] = "12:200:20000"
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -1328,6 +1351,7 @@ def test_ap_hs20_max_bss_load(dev, apdev):
def test_ap_hs20_max_bss_load2(dev, apdev): def test_ap_hs20_max_bss_load2(dev, apdev):
"""Hotspot 2.0 and maximum BSS load with one AP not advertising""" """Hotspot 2.0 and maximum BSS load with one AP not advertising"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hs20_ap_params() params = hs20_ap_params()
params['bss_load_test'] = "12:200:20000" params['bss_load_test'] = "12:200:20000"
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -1351,6 +1375,7 @@ def test_ap_hs20_max_bss_load2(dev, apdev):
def test_ap_hs20_multi_cred_sp_prio(dev, apdev): def test_ap_hs20_multi_cred_sp_prio(dev, apdev):
"""Hotspot 2.0 multi-cred sp_priority""" """Hotspot 2.0 multi-cred sp_priority"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_multi_cred_sp_prio(dev, apdev) _test_ap_hs20_multi_cred_sp_prio(dev, apdev)
finally: finally:
@ -1394,6 +1419,7 @@ def _test_ap_hs20_multi_cred_sp_prio(dev, apdev):
def test_ap_hs20_multi_cred_sp_prio2(dev, apdev): def test_ap_hs20_multi_cred_sp_prio2(dev, apdev):
"""Hotspot 2.0 multi-cred sp_priority with two BSSes""" """Hotspot 2.0 multi-cred sp_priority with two BSSes"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_multi_cred_sp_prio2(dev, apdev) _test_ap_hs20_multi_cred_sp_prio2(dev, apdev)
finally: finally:
@ -1470,6 +1496,7 @@ def conn_capab_cred(domain=None, req_conn_capab=None):
def test_ap_hs20_req_conn_capab(dev, apdev): def test_ap_hs20_req_conn_capab(dev, apdev):
"""Hotspot 2.0 network selection with req_conn_capab""" """Hotspot 2.0 network selection with req_conn_capab"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -1524,6 +1551,7 @@ def test_ap_hs20_req_conn_capab(dev, apdev):
def test_ap_hs20_req_conn_capab_and_roaming_partner_preference(dev, apdev): def test_ap_hs20_req_conn_capab_and_roaming_partner_preference(dev, apdev):
"""Hotspot 2.0 and req_conn_capab with roaming partner preference""" """Hotspot 2.0 and req_conn_capab with roaming partner preference"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['domain_name'] = "roaming.example.org" params['domain_name'] = "roaming.example.org"
@ -1575,6 +1603,7 @@ def bw_cred(domain=None, dl_home=None, ul_home=None, dl_roaming=None, ul_roaming
def test_ap_hs20_min_bandwidth_home(dev, apdev): def test_ap_hs20_min_bandwidth_home(dev, apdev):
"""Hotspot 2.0 network selection with min bandwidth (home)""" """Hotspot 2.0 network selection with min bandwidth (home)"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -1610,6 +1639,7 @@ def test_ap_hs20_min_bandwidth_home(dev, apdev):
def test_ap_hs20_min_bandwidth_home_hidden_ssid_in_scan_res(dev, apdev): def test_ap_hs20_min_bandwidth_home_hidden_ssid_in_scan_res(dev, apdev):
"""Hotspot 2.0 network selection with min bandwidth (home) while hidden SSID is included in scan results""" """Hotspot 2.0 network selection with min bandwidth (home) while hidden SSID is included in scan results"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'secret', hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'secret',
@ -1656,6 +1686,7 @@ def test_ap_hs20_min_bandwidth_home_hidden_ssid_in_scan_res(dev, apdev):
def test_ap_hs20_min_bandwidth_roaming(dev, apdev): def test_ap_hs20_min_bandwidth_roaming(dev, apdev):
"""Hotspot 2.0 network selection with min bandwidth (roaming)""" """Hotspot 2.0 network selection with min bandwidth (roaming)"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -1691,6 +1722,7 @@ def test_ap_hs20_min_bandwidth_roaming(dev, apdev):
def test_ap_hs20_min_bandwidth_and_roaming_partner_preference(dev, apdev): def test_ap_hs20_min_bandwidth_and_roaming_partner_preference(dev, apdev):
"""Hotspot 2.0 and minimum bandwidth with roaming partner preference""" """Hotspot 2.0 and minimum bandwidth with roaming partner preference"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['domain_name'] = "roaming.example.org" params['domain_name'] = "roaming.example.org"
@ -1729,6 +1761,7 @@ def test_ap_hs20_min_bandwidth_no_wan_metrics(dev, apdev):
def test_ap_hs20_deauth_req_ess(dev, apdev): def test_ap_hs20_deauth_req_ess(dev, apdev):
"""Hotspot 2.0 connection and deauthentication request for ESS""" """Hotspot 2.0 connection and deauthentication request for ESS"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_deauth_req_ess(dev, apdev) _test_ap_hs20_deauth_req_ess(dev, apdev)
finally: finally:
@ -1758,6 +1791,7 @@ def _test_ap_hs20_deauth_req_ess(dev, apdev):
def test_ap_hs20_deauth_req_bss(dev, apdev): def test_ap_hs20_deauth_req_bss(dev, apdev):
"""Hotspot 2.0 connection and deauthentication request for BSS""" """Hotspot 2.0 connection and deauthentication request for BSS"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_deauth_req_bss(dev, apdev) _test_ap_hs20_deauth_req_bss(dev, apdev)
finally: finally:
@ -1789,6 +1823,7 @@ def _test_ap_hs20_deauth_req_bss(dev, apdev):
def test_ap_hs20_deauth_req_from_radius(dev, apdev): def test_ap_hs20_deauth_req_from_radius(dev, apdev):
"""Hotspot 2.0 connection and deauthentication request from RADIUS""" """Hotspot 2.0 connection and deauthentication request from RADIUS"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_deauth_req_from_radius(dev, apdev) _test_ap_hs20_deauth_req_from_radius(dev, apdev)
finally: finally:
@ -1817,6 +1852,7 @@ def _test_ap_hs20_deauth_req_from_radius(dev, apdev):
def test_ap_hs20_remediation_required(dev, apdev): def test_ap_hs20_remediation_required(dev, apdev):
"""Hotspot 2.0 connection and remediation required from RADIUS""" """Hotspot 2.0 connection and remediation required from RADIUS"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_remediation_required(dev, apdev) _test_ap_hs20_remediation_required(dev, apdev)
finally: finally:
@ -1843,6 +1879,7 @@ def _test_ap_hs20_remediation_required(dev, apdev):
def test_ap_hs20_remediation_required_ctrl(dev, apdev): def test_ap_hs20_remediation_required_ctrl(dev, apdev):
"""Hotspot 2.0 connection and subrem from ctrl_iface""" """Hotspot 2.0 connection and subrem from ctrl_iface"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_remediation_required_ctrl(dev, apdev) _test_ap_hs20_remediation_required_ctrl(dev, apdev)
finally: finally:
@ -1884,6 +1921,7 @@ def _test_ap_hs20_remediation_required_ctrl(dev, apdev):
def test_ap_hs20_session_info(dev, apdev): def test_ap_hs20_session_info(dev, apdev):
"""Hotspot 2.0 connection and session information from RADIUS""" """Hotspot 2.0 connection and session information from RADIUS"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_session_info(dev, apdev) _test_ap_hs20_session_info(dev, apdev)
finally: finally:
@ -1953,6 +1991,7 @@ def test_ap_hs20_osen(dev, apdev):
def test_ap_hs20_network_preference(dev, apdev): def test_ap_hs20_network_preference(dev, apdev):
"""Hotspot 2.0 network selection with preferred home network""" """Hotspot 2.0 network selection with preferred home network"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -1993,6 +2032,7 @@ def test_ap_hs20_network_preference(dev, apdev):
def test_ap_hs20_network_preference2(dev, apdev): def test_ap_hs20_network_preference2(dev, apdev):
"""Hotspot 2.0 network selection with preferred credential""" """Hotspot 2.0 network selection with preferred credential"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid2 = apdev[1]['bssid'] bssid2 = apdev[1]['bssid']
params = hostapd.wpa2_params(ssid="home", passphrase="12345678") params = hostapd.wpa2_params(ssid="home", passphrase="12345678")
hostapd.add_ap(apdev[1]['ifname'], params) hostapd.add_ap(apdev[1]['ifname'], params)
@ -2033,6 +2073,7 @@ def test_ap_hs20_network_preference2(dev, apdev):
def test_ap_hs20_network_preference3(dev, apdev): def test_ap_hs20_network_preference3(dev, apdev):
"""Hotspot 2.0 network selection with two credential (one preferred)""" """Hotspot 2.0 network selection with two credential (one preferred)"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -2073,6 +2114,7 @@ def test_ap_hs20_network_preference3(dev, apdev):
def test_ap_hs20_network_preference4(dev, apdev): def test_ap_hs20_network_preference4(dev, apdev):
"""Hotspot 2.0 network selection with username vs. SIM credential""" """Hotspot 2.0 network selection with username vs. SIM credential"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -2115,6 +2157,7 @@ def test_ap_hs20_network_preference4(dev, apdev):
def test_ap_hs20_interworking_select_blocking_scan(dev, apdev): def test_ap_hs20_interworking_select_blocking_scan(dev, apdev):
"""Ongoing INTERWORKING_SELECT blocking SCAN""" """Ongoing INTERWORKING_SELECT blocking SCAN"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
hostapd.add_ap(apdev[0]['ifname'], params) hostapd.add_ap(apdev[0]['ifname'], params)
@ -2310,6 +2353,7 @@ def test_ap_hs20_fetch_osu_stop(dev, apdev):
def test_ap_hs20_ft(dev, apdev): def test_ap_hs20_ft(dev, apdev):
"""Hotspot 2.0 connection with FT""" """Hotspot 2.0 connection with FT"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['wpa_key_mgmt'] = "FT-EAP" params['wpa_key_mgmt'] = "FT-EAP"
@ -2331,6 +2375,7 @@ def test_ap_hs20_ft(dev, apdev):
def test_ap_hs20_remediation_sql(dev, apdev, params): def test_ap_hs20_remediation_sql(dev, apdev, params):
"""Hotspot 2.0 connection and remediation required using SQLite for user DB""" """Hotspot 2.0 connection and remediation required using SQLite for user DB"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
import sqlite3 import sqlite3
except ImportError: except ImportError:
@ -2394,6 +2439,7 @@ def test_ap_hs20_remediation_sql(dev, apdev, params):
def test_ap_hs20_external_selection(dev, apdev): def test_ap_hs20_external_selection(dev, apdev):
"""Hotspot 2.0 connection using external network selection and creation""" """Hotspot 2.0 connection using external network selection and creation"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['hessid'] = bssid params['hessid'] = bssid
@ -2410,6 +2456,7 @@ def test_ap_hs20_external_selection(dev, apdev):
def test_ap_hs20_random_mac_addr(dev, apdev): def test_ap_hs20_random_mac_addr(dev, apdev):
"""Hotspot 2.0 connection with random MAC address""" """Hotspot 2.0 connection with random MAC address"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['hessid'] = bssid params['hessid'] = bssid
@ -2445,6 +2492,7 @@ def test_ap_hs20_random_mac_addr(dev, apdev):
def test_ap_hs20_multi_network_and_cred_removal(dev, apdev): def test_ap_hs20_multi_network_and_cred_removal(dev, apdev):
"""Multiple networks and cred removal""" """Multiple networks and cred removal"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['nai_realm'] = [ "0,example.com,25[3:26]"] params['nai_realm'] = [ "0,example.com,25[3:26]"]
@ -2480,6 +2528,7 @@ def test_ap_hs20_multi_network_and_cred_removal(dev, apdev):
def test_ap_hs20_interworking_add_network(dev, apdev): def test_ap_hs20_interworking_add_network(dev, apdev):
"""Hotspot 2.0 connection using INTERWORKING_ADD_NETWORK""" """Hotspot 2.0 connection using INTERWORKING_ADD_NETWORK"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['nai_realm'] = [ "0,example.com,21[3:26][6:7][99:99]" ] params['nai_realm'] = [ "0,example.com,21[3:26][6:7][99:99]" ]
@ -2580,6 +2629,7 @@ def _test_ap_hs20_proxyarp(dev, apdev):
def test_ap_hs20_hidden_ssid_in_scan_res(dev, apdev): def test_ap_hs20_hidden_ssid_in_scan_res(dev, apdev):
"""Hotspot 2.0 connection with hidden SSId in scan results""" """Hotspot 2.0 connection with hidden SSId in scan results"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'secret', hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'secret',
@ -2612,6 +2662,7 @@ def test_ap_hs20_hidden_ssid_in_scan_res(dev, apdev):
def test_ap_hs20_proxyarp(dev, apdev): def test_ap_hs20_proxyarp(dev, apdev):
"""Hotspot 2.0 and ProxyARP""" """Hotspot 2.0 and ProxyARP"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_proxyarp(dev, apdev) _test_ap_hs20_proxyarp(dev, apdev)
finally: finally:
@ -2708,6 +2759,7 @@ def _test_ap_hs20_proxyarp_dgaf(dev, apdev, disabled):
def test_ap_hs20_proxyarp_disable_dgaf(dev, apdev): def test_ap_hs20_proxyarp_disable_dgaf(dev, apdev):
"""Hotspot 2.0 and ProxyARP with DGAF disabled""" """Hotspot 2.0 and ProxyARP with DGAF disabled"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_proxyarp_dgaf(dev, apdev, True) _test_ap_hs20_proxyarp_dgaf(dev, apdev, True)
finally: finally:
@ -2718,6 +2770,7 @@ def test_ap_hs20_proxyarp_disable_dgaf(dev, apdev):
def test_ap_hs20_proxyarp_enable_dgaf(dev, apdev): def test_ap_hs20_proxyarp_enable_dgaf(dev, apdev):
"""Hotspot 2.0 and ProxyARP with DGAF enabled""" """Hotspot 2.0 and ProxyARP with DGAF enabled"""
check_eap_capa(dev[0], "MSCHAPV2")
try: try:
_test_ap_hs20_proxyarp_dgaf(dev, apdev, False) _test_ap_hs20_proxyarp_dgaf(dev, apdev, False)
finally: finally:
@ -3483,6 +3536,7 @@ def test_proxyarp_open_ebtables(dev, apdev, params):
def test_ap_hs20_connect_deinit(dev, apdev): def test_ap_hs20_connect_deinit(dev, apdev):
"""Hotspot 2.0 connection interrupted with deinit""" """Hotspot 2.0 connection interrupted with deinit"""
check_eap_capa(dev[0], "MSCHAPV2")
bssid = apdev[0]['bssid'] bssid = apdev[0]['bssid']
params = hs20_ap_params() params = hs20_ap_params()
params['hessid'] = bssid params['hessid'] = bssid

View file

@ -1,5 +1,5 @@
# EAP protocol tests # EAP protocol tests
# Copyright (c) 2014, Jouni Malinen <j@w1.fi> # Copyright (c) 2014-2015, Jouni Malinen <j@w1.fi>
# #
# This software may be distributed under the terms of the BSD license. # This software may be distributed under the terms of the BSD license.
# See README for more details. # See README for more details.
@ -14,6 +14,7 @@ import time
import hostapd import hostapd
from utils import HwsimSkip from utils import HwsimSkip
from test_ap_eap import check_eap_capa
EAP_CODE_REQUEST = 1 EAP_CODE_REQUEST = 1
EAP_CODE_RESPONSE = 2 EAP_CODE_RESPONSE = 2
@ -141,6 +142,7 @@ def start_ap(ifname):
def test_eap_proto(dev, apdev): def test_eap_proto(dev, apdev):
"""EAP protocol tests""" """EAP protocol tests"""
check_eap_capa(dev[0], "MD5")
def eap_handler(ctx, req): def eap_handler(ctx, req):
logger.info("eap_handler - RX " + req.encode("hex")) logger.info("eap_handler - RX " + req.encode("hex"))
if 'num' not in ctx: if 'num' not in ctx:
@ -722,6 +724,8 @@ def test_eap_proto_leap(dev, apdev):
def test_eap_proto_md5(dev, apdev): def test_eap_proto_md5(dev, apdev):
"""EAP-MD5 protocol tests""" """EAP-MD5 protocol tests"""
check_eap_capa(dev[0], "MD5")
def md5_handler(ctx, req): def md5_handler(ctx, req):
logger.info("md5_handler - RX " + req.encode("hex")) logger.info("md5_handler - RX " + req.encode("hex"))
if 'num' not in ctx: if 'num' not in ctx: