tests: WPS AP iteration on no Selected Registrar and error case
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
5add410162
commit
2272f5aada
2 changed files with 46 additions and 0 deletions
|
@ -2414,3 +2414,48 @@ def test_ap_wps_iteration(dev, apdev):
|
|||
# Provide PIN to one of the APs and verify that connection gets formed
|
||||
hapd.request("WPS_PIN any " + pin)
|
||||
dev[0].wait_connected(timeout=30)
|
||||
|
||||
def test_ap_wps_iteration_error(dev, apdev):
|
||||
"""WPS AP iteration on no Selected Registrar and error case with an AP"""
|
||||
ssid = "test-wps-conf-pin"
|
||||
hapd = hostapd.add_ap(apdev[0]['ifname'],
|
||||
{ "ssid": ssid, "eap_server": "1", "wps_state": "2",
|
||||
"wpa_passphrase": "12345678", "wpa": "2",
|
||||
"wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP",
|
||||
"wps_independent": "1" })
|
||||
hapd.request("SET ext_eapol_frame_io 1")
|
||||
bssid = apdev[0]['bssid']
|
||||
pin = dev[0].wps_read_pin()
|
||||
dev[0].request("WPS_PIN any " + pin)
|
||||
|
||||
ev = hapd.wait_event(["EAPOL-TX"], timeout=15)
|
||||
if ev is None:
|
||||
raise Exception("No EAPOL-TX (EAP-Request/Identity) from hostapd")
|
||||
dev[0].request("EAPOL_RX " + bssid + " " + ev.split(' ')[2])
|
||||
|
||||
ev = hapd.wait_event(["EAPOL-TX"], timeout=15)
|
||||
if ev is None:
|
||||
raise Exception("No EAPOL-TX (EAP-WSC/Start) from hostapd")
|
||||
ev = dev[0].wait_event(["CTRL-EVENT-EAP-STARTED"], timeout=5)
|
||||
if ev is None:
|
||||
raise Exception("No CTRL-EVENT-EAP-STARTED")
|
||||
|
||||
# Do not forward any more EAPOL frames to test wpa_supplicant behavior for
|
||||
# a case with an incorrectly behaving WPS AP.
|
||||
|
||||
# Start the real target AP and activate registrar on it.
|
||||
hapd2 = hostapd.add_ap(apdev[1]['ifname'],
|
||||
{ "ssid": ssid, "eap_server": "1", "wps_state": "2",
|
||||
"wpa_passphrase": "12345678", "wpa": "2",
|
||||
"wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP",
|
||||
"wps_independent": "1" })
|
||||
hapd2.request("WPS_PIN any " + pin)
|
||||
|
||||
dev[0].wait_disconnected(timeout=15)
|
||||
ev = dev[0].wait_event(["CTRL-EVENT-EAP-STARTED"], timeout=15)
|
||||
if ev is None:
|
||||
raise Exception("No CTRL-EVENT-EAP-STARTED for the second AP")
|
||||
ev = dev[0].wait_event(["WPS-CRED-RECEIVED"], timeout=15)
|
||||
if ev is None:
|
||||
raise Exception("No WPS-CRED-RECEIVED for the second AP")
|
||||
dev[0].wait_connected(timeout=15)
|
||||
|
|
|
@ -62,6 +62,7 @@ long_tests = [ "ap_roam_open",
|
|||
"dbus_connect_oom",
|
||||
"proxyarp_open",
|
||||
"ap_wps_iteration",
|
||||
"ap_wps_iteration_error",
|
||||
"ap_wps_pbc_timeout" ]
|
||||
|
||||
def get_failed(vm):
|
||||
|
|
Loading…
Reference in a new issue