diff --git a/unit/test-eapol.c b/unit/test-eapol.c index f7bcb064..ad968cd7 100644 --- a/unit/test-eapol.c +++ b/unit/test-eapol.c @@ -99,6 +99,51 @@ static struct eapol_key_data eapol_key_test_1 = { .key_data_len = 0, }; +static const unsigned char eapol_key_data_2[] = { + 0x02, 0x03, 0x00, 0x75, 0x02, 0x00, 0x8a, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6a, 0xce, 0x64, 0xc1, 0xa6, 0x44, + 0xd2, 0x7b, 0x84, 0xe0, 0x39, 0x26, 0x3b, 0x63, 0x3b, 0xc3, 0x74, 0xe3, + 0x29, 0x9d, 0x7d, 0x45, 0xe1, 0xc4, 0x25, 0x44, 0x05, 0x48, 0x05, 0xbf, + 0xe5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x16, 0xdd, 0x14, 0x00, 0x0f, 0xac, 0x04, 0x05, 0xb1, 0xb6, + 0x8b, 0x5a, 0x91, 0xfc, 0x04, 0x06, 0x83, 0x84, 0x06, 0xe8, 0xd1, 0x5f, + 0xdb, +}; + +static struct eapol_key_data eapol_key_test_2 = { + .frame = eapol_key_data_2, + .frame_len = sizeof(eapol_key_data_2), + .protocol_version = EAPOL_PROTOCOL_VERSION_2004, + .packet_len = 117, + .descriptor_type = EAPOL_DESCRIPTOR_TYPE_80211, + .key_descriptor_version = EAPOL_KEY_DESCRIPTOR_VERSION_HMAC_SHA1_AES, + .key_type = true, + .install = false, + .key_ack = true, + .key_mic = false, + .secure = false, + .error = false, + .request = false, + .encrypted_key_data = false, + .smk_message = false, + .key_length = 16, + .key_replay_counter = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + .key_nonce = { 0x12, 0x6a, 0xce, 0x64, 0xc1, 0xa6, 0x44, 0xd2, 0x7b, + 0x84, 0xe0, 0x39, 0x26, 0x3b, 0x63, 0x3b, 0xc3, 0x74, + 0xe3, 0x29, 0x9d, 0x7d, 0x45, 0xe1, 0xc4, 0x25, 0x44, + 0x05, 0x48, 0x05, 0xbf, 0xe5 }, + .eapol_key_iv = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + .key_rsc = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + .key_mic_data = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + .key_data_len = 22, +}; + static void eapol_key_test(const void *data) { const struct eapol_key_data *test = data; @@ -140,6 +185,8 @@ int main(int argc, char *argv[]) l_test_add("/EAPoL Key/Key Frame 1", eapol_key_test, &eapol_key_test_1); + l_test_add("/EAPoL Key/Key Frame 2", + eapol_key_test, &eapol_key_test_2); return l_test_run(); }