raise Exception("Timeout on already-connected event")
dev[0].remove_cred(id)
+def test_ap_hs20_home_ois(dev, apdev):
+ """Hotspot 2.0 connection based on roaming consortium match"""
+ bssid = apdev[0]['bssid']
+ params = hs20_ap_params()
+ params['hessid'] = bssid
+ hostapd.add_ap(apdev[0], params)
+
+ dev[0].flush_scan_cache()
+ dev[0].hs20_enable()
+ for consortium in [["112233"], ["1020304050"], ["010203040506"], ["fedcba"],
+ ["f12233", "f020304050", "f10203040506", "fedcba"]]:
+ id = dev[0].add_cred_values({'username': "user",
+ 'password': "password",
+ 'domain': "example.com",
+ 'ca_cert': "auth_serv/ca.pem",
+ 'home_ois': consortium,
+ 'eap': "PEAP"})
+ interworking_select(dev[0], bssid, "home", freq="2412")
+ interworking_connect(dev[0], bssid, "PEAP")
+ check_sp_type(dev[0], "home")
+ dev[0].request("INTERWORKING_SELECT auto freq=2412")
+ ev = dev[0].wait_event(["INTERWORKING-ALREADY-CONNECTED"], timeout=15)
+ if ev is None:
+ raise Exception("Timeout on already-connected event")
+ dev[0].remove_cred(id)
+
def test_ap_hs20_roaming_consortiums_match(dev, apdev):
"""Hotspot 2.0 connection based on roaming_consortiums match"""
bssid = apdev[0]['bssid']
'password': "password",
'domain': "example.com",
'ca_cert': "auth_serv/ca.pem",
- 'roaming_consortium': "fedcba",
+ 'home_ois': ["fedcba"],
'eap': "PEAP"})
interworking_select(dev[0], bssid, "home", freq="2412", no_match=True)
'password': "password",
'domain': "example.com",
'ca_cert': "auth_serv/ca.pem",
- 'roaming_consortium': "112233",
+ 'home_ois': ["112233"],
'eap': "PEAP"})
interworking_select(dev[0], bssid, freq="2412", no_match=True)
'password': "password",
'domain': "example.com",
'ca_cert': "auth_serv/ca.pem",
- 'roaming_consortium': "fedcba",
+ 'home_ois': ["fedcba"],
'eap': "TTLS"}
vals2 = vals.copy()
- vals2['required_roaming_consortium'] = "223344"
+ vals2['required_home_ois'] = ["223344"]
id = dev[0].add_cred_values(vals2)
interworking_select(dev[0], bssid, "home", freq="2412", no_match=True)
dev[0].remove_cred(id)
dev[0].remove_cred(id)
values = default_cred()
- values['roaming_consortium'] = "fedcba"
+ values['home_ois'] = ["fedcba"]
id3 = dev[0].add_cred_values(values)
vals2 = vals.copy()
- vals2['roaming_consortium'] = "fedcba"
+ vals2['home_ois'] = ["fedcba"]
vals2['priority'] = "2"
id = dev[0].add_cred_values(vals2)
values = default_cred()
- values['roaming_consortium'] = "fedcba"
+ values['home_ois'] = ["fedcba"]
id2 = dev[0].add_cred_values(values)
dev[0].request("INTERWORKING_SELECT freq=2412")
'eap': "SIM",
'milenage': "5122250214c33e723a5dd523fc145fc0:981d464c7c52eb6e5036234984ad0bcf:000000000123"}
vals2 = vals.copy()
- vals2['required_roaming_consortium'] = "223344"
+ vals2['required_home_ois'] = ["223344"]
id = dev[0].add_cred_values(vals2)
interworking_select(dev[0], bssid, "home", freq="2412", no_match=True)
dev[0].remove_cred(id)
dev[0].remove_cred(id)
values = default_cred()
- values['roaming_consortium'] = "fedcba"
+ values['home_ois'] = ["fedcba"]
id3 = dev[0].add_cred_values(values)
vals2 = vals.copy()
- vals2['roaming_consortium'] = "fedcba"
+ vals2['home_ois'] = ["fedcba"]
vals2['priority'] = "2"
id = dev[0].add_cred_values(vals2)
values = default_cred()
- values['roaming_consortium'] = "fedcba"
+ values['home_ois'] = ["fedcba"]
id2 = dev[0].add_cred_values(values)
dev[0].request("INTERWORKING_SELECT freq=2412")
'password': "password",
'domain': "example.com",
'ca_cert': "auth_serv/ca.pem",
- 'roaming_consortium': "fedcba",
+ 'home_ois': ["fedcba"],
'eap': "TTLS",
'min_dl_bandwidth_home': "65500"}
id = dev[0].add_cred_values(vals)
values['domain'] = "example.org"
policy_test(dev[0], apdev[0], values, only_one=False)
-def test_ap_hs20_req_roaming_consortium(dev, apdev):
+def test_ap_hs20_req_home_ois(dev, apdev):
"""Hotspot 2.0 required roaming consortium"""
check_eap_capa(dev[0], "MSCHAPV2")
params = hs20_ap_params()
hostapd.add_ap(apdev[1], params)
values = default_cred()
- values['required_roaming_consortium'] = "223344"
+ values['required_home_ois'] = ["223344"]
policy_test(dev[0], apdev[1], values)
- values['required_roaming_consortium'] = "112233"
+ values['required_home_ois'] = ["112233"]
policy_test(dev[0], apdev[0], values)
id = dev[0].add_cred()
- dev[0].set_cred(id, "required_roaming_consortium", "112233")
- dev[0].set_cred(id, "required_roaming_consortium", "112233445566778899aabbccddeeff")
+ dev[0].set_cred_quoted(id, "required_home_ois", "112233")
+ dev[0].set_cred_quoted(id, "required_home_ois",
+ "112233445566778899aabbccddeeff")
for val in ["", "1", "11", "1122", "1122334",
- "112233445566778899aabbccddeeff00"]:
- if "FAIL" not in dev[0].request('SET_CRED {} required_roaming_consortium {}'.format(id, val)):
+ "112233445566778899aabbccddeeff00", "1122334455,12345"]:
+ if "FAIL" not in dev[0].request('SET_CRED {} required_home_ois "{}"'.format(id, val)):
raise Exception("Invalid roaming consortium value accepted: " + val)
def test_ap_hs20_req_roaming_consortium_no_match(dev, apdev):
hostapd.add_ap(apdev[1], params)
values = default_cred()
- values['required_roaming_consortium'] = "223344"
+ values['required_home_ois'] = ["223344"]
dev[0].hs20_enable()
id = dev[0].add_cred_values(values)
dev[0].request("INTERWORKING_SELECT auto freq=2412")
raise Exception("Excluded network not reported")
values = default_cred()
- values['roaming_consortium'] = "223344"
+ values['home_ois'] = ["223344"]
values['eap'] = "TTLS"
values['phase2'] = "auth=MSCHAPV2"
values['excluded_ssid'] = "test-hs20"
'username': "test",
'password': "secret",
'domain': "example.com",
- 'roaming_consortium': "112234",
+ 'home_ois': ["112234"],
'eap': 'TTLS'})
interworking_select(dev[0], bssid, "home", freq=2412, no_match=True)
dev[0].remove_cred(id)
'username': "test",
'password': "secret",
'domain': "example.com",
- 'roaming_consortium': "112234",
+ 'home_ois': ["112234"],
'eap': 'TTLS'})
interworking_select(dev[0], bssid, "home", freq=2412)
'username': "test",
'password': "secret",
'domain': "example.com",
- 'roaming_consortium': "112233",
+ 'home_ois': ["112233"],
'eap': 'TTLS'})
interworking_select(dev[0], bssid, freq=2412, no_match=True)
'username': "test",
'password': "secret",
'domain': "example.org",
- 'roaming_consortium': "112234",
+ 'home_ois': ["112234"],
'eap': 'TTLS'})
interworking_select(dev[0], bssid, freq=2412, no_match=True)
'username': "test",
'password': "secret",
'domain': "example.com",
- 'roaming_consortium': "112234",
+ 'home_ois': ["112234"],
'eap': 'TTLS'})
dev[0].request("INTERWORKING_SELECT freq=2412")
wait_fail_trigger(dev[0], "GET_ALLOC_FAIL")
dev[0].remove_cred(id)
- id = dev[0].add_cred_values({'roaming_consortium': "112233",
+ id = dev[0].add_cred_values({'home_ois': ["112233"],
'domain': "example.com",
'username': "hs20-test",
'password': "password",
dev[0].remove_cred(id)
dev[0].wait_disconnected()
- id = dev[0].add_cred_values({'roaming_consortium': "112233",
+ id = dev[0].add_cred_values({'home_ois': ["112233"],
'domain': "example.com",
'realm': "example.com",
'username': "user",
wait_fail_trigger(dev[0], "GET_ALLOC_FAIL")
dev[0].remove_cred(id)
- id = dev[0].add_cred_values({'roaming_consortium': "112233",
+ id = dev[0].add_cred_values({'home_ois': ["112233"],
'domain': "example.com",
'realm': "example.com",
'username': "user",
wait_fail_trigger(dev[0], "GET_ALLOC_FAIL")
dev[0].remove_cred(id)
- id = dev[0].add_cred_values({'roaming_consortium': "112233",
+ id = dev[0].add_cred_values({'home_ois': ["112233"],
'domain': "example.com",
'realm': "example.com",
'username': "user",
wait_fail_trigger(dev[0], "GET_ALLOC_FAIL")
dev[0].remove_cred(id)
- id = dev[0].add_cred_values({'roaming_consortium': "112233",
+ id = dev[0].add_cred_values({'home_ois': ["112233"],
'eap': 'TTLS',
'username': "user@example.com",
'password': "password"})