reply_eapol("4/4", hapd, addr, msg, 0x030a, None, None, kck)
hapd.wait_sta(timeout=15)
+ dev[0].request("DISCONNECT")
@remote_compatible
def test_ap_wpa2_psk_ext_eapol_retry1(dev, apdev):
reply_eapol("4/4", hapd, addr, msg, 0x030a, None, None, kck)
hapd.wait_sta(timeout=15)
+ dev[0].request("DISCONNECT")
@remote_compatible
def test_ap_wpa2_psk_ext_eapol_retry1b(dev, apdev):
reply_eapol("4/4", hapd, addr, msg, 0x030a, None, None, kck)
hapd.wait_sta(timeout=15)
+ dev[0].request("DISCONNECT")
@remote_compatible
def test_ap_wpa2_psk_ext_eapol_retry1c(dev, apdev):
raise Exception("ANonce changed")
reply_eapol("4/4", hapd, addr, msg, 0x030a, None, None, kck)
hapd.wait_sta(timeout=15)
+ dev[0].request("DISCONNECT")
@remote_compatible
def test_ap_wpa2_psk_ext_eapol_retry1d(dev, apdev):
raise Exception("ANonce changed")
reply_eapol("4/4", hapd, addr, msg, 0x030a, None, None, kck)
hapd.wait_sta(timeout=15)
+ dev[0].request("DISCONNECT")
@remote_compatible
def test_ap_wpa2_psk_ext_eapol_type_diff(dev, apdev):
reply_eapol("4/4", hapd, addr, msg, 0x030a, None, None, kck)
hapd.wait_sta(timeout=15)
+ dev[0].request("DISCONNECT")
@remote_compatible
def test_ap_wpa_psk_ext_eapol(dev, apdev):
reply_eapol("4/4", hapd, addr, msg, 0x030a, None, None, kck)
hapd.wait_sta(timeout=15)
+ dev[0].request("DISCONNECT")
@remote_compatible
def test_ap_wpa2_psk_ext_eapol_key_info(dev, apdev):
reply_eapol("4/4", hapd, addr, msg, 0x030a, None, None, kck)
hapd.wait_sta(timeout=15)
+ dev[0].request("DISCONNECT")
def build_eapol_key_1_4(anonce, replay_counter=1, key_data=b'', key_len=16):
msg = {}
counter += 1
send_eapol(dev[0], bssid, build_eapol(msg))
dev[0].wait_disconnected(timeout=1)
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_no_ie(dev, apdev):
"""WPA2-PSK supplicant protocol testing: IE not included"""
counter += 1
send_eapol(dev[0], bssid, build_eapol(msg))
dev[0].wait_disconnected(timeout=1)
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_ie_mismatch(dev, apdev):
"""WPA2-PSK supplicant protocol testing: IE mismatch"""
counter += 1
send_eapol(dev[0], bssid, build_eapol(msg))
dev[0].wait_connected(timeout=1)
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_no_gtk(dev, apdev):
"""WPA2-PSK supplicant protocol testing: no GTK"""
ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=0.1)
if ev is not None:
raise Exception("Unexpected connection completion reported")
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_anonce_change(dev, apdev):
"""WPA2-PSK supplicant protocol testing: ANonce change"""
ev = dev[0].wait_event(["WPA: ANonce from message 1 of 4-Way Handshake differs from 3 of 4-Way Handshake"])
if ev is None:
raise Exception("ANonce change not reported")
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_unexpected_group_msg(dev, apdev):
"""WPA2-PSK supplicant protocol testing: unexpected group message"""
if ev is None:
raise Exception("Unexpected group key message not reported")
dev[0].wait_disconnected(timeout=1)
+ dev[0].request("DISCONNECT")
@remote_compatible
def test_ap_wpa2_psk_supp_proto_msg_1_invalid_kde(dev, apdev):
counter += 1
send_eapol(dev[0], bssid, build_eapol(msg))
time.sleep(0.1)
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_wrong_pairwise_key_len(dev, apdev):
"""WPA2-PSK supplicant protocol testing: wrong pairwise key length"""
if ev is None:
raise Exception("Invalid CCMP key length not reported")
dev[0].wait_disconnected(timeout=1)
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_wrong_group_key_len(dev, apdev):
"""WPA2-PSK supplicant protocol testing: wrong group key length"""
if ev is None:
raise Exception("Invalid CCMP key length not reported")
dev[0].wait_disconnected(timeout=1)
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_gtk_tx_bit_workaround(dev, apdev):
"""WPA2-PSK supplicant protocol testing: GTK TX bit workaround"""
if ev is None:
raise Exception("GTK Tx bit workaround not reported")
dev[0].wait_connected(timeout=1)
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_gtk_keyidx_0_and_3(dev, apdev):
"""WPA2-PSK supplicant protocol testing: GTK key index 0 and 3"""
if ev is None:
raise Exception("Unencrypted GTK KDE not reported")
dev[0].wait_disconnected(timeout=1)
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_no_gtk_in_group_msg(dev, apdev):
"""WPA2-PSK supplicant protocol testing: GTK KDE missing from group msg"""
if ev is None:
raise Exception("Missing GTK KDE not reported")
dev[0].wait_disconnected(timeout=1)
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_too_long_gtk_in_group_msg(dev, apdev):
"""WPA2-PSK supplicant protocol testing: too long GTK KDE in group msg"""
if ev is None:
raise Exception("Too long GTK KDE not reported")
dev[0].wait_disconnected(timeout=1)
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_too_long_gtk_kde(dev, apdev):
"""WPA2-PSK supplicant protocol testing: too long GTK KDE"""
counter += 1
send_eapol(dev[0], bssid, build_eapol(msg))
dev[0].wait_disconnected(timeout=1)
+ dev[0].request("DISCONNECT")
def test_ap_wpa2_psk_supp_proto_gtk_not_encrypted(dev, apdev):
"""WPA2-PSK supplicant protocol testing: GTK KDE not encrypted"""
if ev is None:
raise Exception("Unencrypted GTK KDE not reported")
dev[0].wait_disconnected(timeout=1)
+ dev[0].request("DISCONNECT")
def run_psk_supp_proto_pmf2(dev, apdev, igtk_kde=None, fail=False):
(bssid, ssid, hapd, snonce, pmk, addr, rsne) = eapol_test(apdev[0], dev[0],
ev = dev[0].wait_event(["CTRL-EVENT-DISCONNECTED"], timeout=0.5)
if ev is not None:
raise Exception("Unexpected disconnection")
+ dev[0].request("DISCONNECT")
def run_psk_supp_proto_pmf(dev, apdev, igtk_kde=None, fail=False):
try: