mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-25 17:59:25 +01:00
unit: Add a test for building M8 encrypted settings
There's are two changes to the example raw data in m8_encrypted_settings, one is to change the Network Index value to 1 and the other is to drop the Network Key Index attribute: Network Index R Deprecated - use fixed value 1 for backwards compatibility. Network Key O Deprecated. Only included by WSC 1.0 Index devices. Ignored by WSC 2.0 or newer devices.
This commit is contained in:
parent
c6c45e0569
commit
5888f66258
@ -1736,17 +1736,17 @@ static void wsc_test_build_m8(const void *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const unsigned char m8_encrypted_settings[] = {
|
static const unsigned char m8_encrypted_settings[] = {
|
||||||
0x10, 0x0e, 0x00, 0x6f, 0x10, 0x26, 0x00, 0x01, 0x00, 0x10, 0x45, 0x00,
|
0x10, 0x0e, 0x00, 0x6a, 0x10, 0x26, 0x00, 0x01, 0x01, 0x10, 0x45, 0x00,
|
||||||
0x07, 0x54, 0x65, 0x73, 0x74, 0x57, 0x50, 0x41, 0x10, 0x03, 0x00, 0x02,
|
0x07, 0x54, 0x65, 0x73, 0x74, 0x57, 0x50, 0x41, 0x10, 0x03, 0x00, 0x02,
|
||||||
0x00, 0x20, 0x10, 0x0f, 0x00, 0x02, 0x00, 0x08, 0x10, 0x28, 0x00, 0x01,
|
0x00, 0x20, 0x10, 0x0f, 0x00, 0x02, 0x00, 0x08, 0x10, 0x27, 0x00, 0x40,
|
||||||
0x00, 0x10, 0x27, 0x00, 0x40, 0x34, 0x36, 0x30, 0x34, 0x44, 0x30, 0x31,
|
0x34, 0x36, 0x30, 0x34, 0x44, 0x30, 0x31, 0x46, 0x46, 0x44, 0x42, 0x30,
|
||||||
0x46, 0x46, 0x44, 0x42, 0x30, 0x42, 0x32, 0x39, 0x32, 0x45, 0x33, 0x37,
|
0x42, 0x32, 0x39, 0x32, 0x45, 0x33, 0x37, 0x37, 0x33, 0x32, 0x44, 0x44,
|
||||||
0x37, 0x33, 0x32, 0x44, 0x44, 0x34, 0x45, 0x31, 0x31, 0x43, 0x32, 0x34,
|
0x34, 0x45, 0x31, 0x31, 0x43, 0x32, 0x34, 0x30, 0x31, 0x31, 0x35, 0x34,
|
||||||
0x30, 0x31, 0x31, 0x35, 0x34, 0x32, 0x38, 0x39, 0x41, 0x30, 0x39, 0x41,
|
0x32, 0x38, 0x39, 0x41, 0x30, 0x39, 0x41, 0x33, 0x33, 0x41, 0x44, 0x37,
|
||||||
0x33, 0x33, 0x41, 0x44, 0x37, 0x30, 0x34, 0x31, 0x37, 0x37, 0x41, 0x42,
|
0x30, 0x34, 0x31, 0x37, 0x37, 0x41, 0x42, 0x30, 0x44, 0x31, 0x42, 0x37,
|
||||||
0x30, 0x44, 0x31, 0x42, 0x37, 0x35, 0x38, 0x44, 0x30, 0x10, 0x20, 0x00,
|
0x35, 0x38, 0x44, 0x30, 0x10, 0x20, 0x00, 0x06, 0xa0, 0xa8, 0xcd, 0x1c,
|
||||||
0x06, 0xa0, 0xa8, 0xcd, 0x1c, 0x7e, 0xc9, 0x10, 0x1e, 0x00, 0x08, 0xe8,
|
0x7e, 0xc9, 0x10, 0x1e, 0x00, 0x08, 0xe8, 0x3b, 0x3b, 0xe7, 0x9e, 0x72,
|
||||||
0x3b, 0x3b, 0xe7, 0x9e, 0x72, 0x06, 0x46,
|
0x06, 0x46,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct wsc_credential creds_1[1] = {
|
struct wsc_credential creds_1[1] = {
|
||||||
@ -1831,6 +1831,22 @@ static void wsc_test_parse_m8_encrypted_settings(const void *data)
|
|||||||
assert(!memcmp(expected->authenticator, m8es.authenticator, 8));
|
assert(!memcmp(expected->authenticator, m8es.authenticator, 8));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void wsc_test_build_m8_encrypted_settings(const void *data)
|
||||||
|
{
|
||||||
|
const struct m8_encrypted_settings_data *test = data;
|
||||||
|
uint8_t *out;
|
||||||
|
size_t out_len;
|
||||||
|
|
||||||
|
out = wsc_build_m8_encrypted_settings(&test->expected, test->creds,
|
||||||
|
test->n_creds, &out_len);
|
||||||
|
assert(out);
|
||||||
|
|
||||||
|
assert(out_len == test->len);
|
||||||
|
assert(!memcmp(test->pdu, out, test->len));
|
||||||
|
|
||||||
|
l_free(out);
|
||||||
|
}
|
||||||
|
|
||||||
static const unsigned char eap_wsc_done[] = {
|
static const unsigned char eap_wsc_done[] = {
|
||||||
0x01, 0x00, 0x00, 0x4a, 0x02, 0xab, 0x00, 0x4a, 0xfe, 0x00, 0x37, 0x2a,
|
0x01, 0x00, 0x00, 0x4a, 0x02, 0xab, 0x00, 0x4a, 0xfe, 0x00, 0x37, 0x2a,
|
||||||
0x00, 0x00, 0x00, 0x01, 0x05, 0x00, 0x10, 0x4a, 0x00, 0x01, 0x10, 0x10,
|
0x00, 0x00, 0x00, 0x01, 0x05, 0x00, 0x10, 0x4a, 0x00, 0x01, 0x10, 0x10,
|
||||||
@ -2330,6 +2346,9 @@ int main(int argc, char *argv[])
|
|||||||
l_test_add("/wsc/parse/m8 encrypted settings 1",
|
l_test_add("/wsc/parse/m8 encrypted settings 1",
|
||||||
wsc_test_parse_m8_encrypted_settings,
|
wsc_test_parse_m8_encrypted_settings,
|
||||||
&m8_encrypted_settings_data_1);
|
&m8_encrypted_settings_data_1);
|
||||||
|
l_test_add("/wsc/build/m8 encrypted settings 1",
|
||||||
|
wsc_test_build_m8_encrypted_settings,
|
||||||
|
&m8_encrypted_settings_data_1);
|
||||||
|
|
||||||
l_test_add("/wsc/parse/wsc_done 1", wsc_test_parse_wsc_done,
|
l_test_add("/wsc/parse/wsc_done 1", wsc_test_parse_wsc_done,
|
||||||
&wsc_done_data_1);
|
&wsc_done_data_1);
|
||||||
|
Loading…
Reference in New Issue
Block a user