|
Packit Service |
a1bd4f |
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
Packit |
5756e2 |
/*
|
|
Packit |
5756e2 |
* Copyright (C) 2008 - 2011 Red Hat, Inc.
|
|
Packit |
5756e2 |
*/
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
#include "nm-default.h"
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
#include <stdio.h>
|
|
Packit |
5756e2 |
#include <stdarg.h>
|
|
Packit |
5756e2 |
#include <unistd.h>
|
|
Packit |
5756e2 |
#include <netinet/in.h>
|
|
Packit |
5756e2 |
#include <arpa/inet.h>
|
|
Packit |
5756e2 |
#include <sys/socket.h>
|
|
Packit |
5756e2 |
#include <sys/types.h>
|
|
Packit |
5756e2 |
#include <sys/stat.h>
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
#include "nm-core-internal.h"
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
#include "supplicant/nm-supplicant-config.h"
|
|
Packit |
5756e2 |
#include "supplicant/nm-supplicant-settings-verify.h"
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
#include "nm-test-utils-core.h"
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
#define TEST_CERT_DIR NM_BUILD_SRCDIR "/src/supplicant/tests/certs"
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
/*****************************************************************************/
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static gboolean
|
|
Packit Service |
a1bd4f |
validate_opt(const char * detail,
|
|
Packit Service |
a1bd4f |
GVariant * config,
|
|
Packit Service |
a1bd4f |
const char * key,
|
|
Packit Service |
a1bd4f |
NMSupplOptType val_type,
|
|
Packit Service |
a1bd4f |
gconstpointer expected)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
char * config_key;
|
|
Packit Service |
a1bd4f |
GVariant * config_value;
|
|
Packit Service |
a1bd4f |
gboolean found = FALSE;
|
|
Packit Service |
a1bd4f |
GVariantIter iter;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
g_assert(g_variant_is_of_type(config, G_VARIANT_TYPE_VARDICT));
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
g_variant_iter_init(&iter, config);
|
|
Packit Service |
a1bd4f |
while (g_variant_iter_next(&iter, "{&sv}", (gpointer) &config_key, (gpointer) &config_value)) {
|
|
Packit Service |
a1bd4f |
if (!strcmp(key, config_key)) {
|
|
Packit Service |
a1bd4f |
found = TRUE;
|
|
Packit Service |
a1bd4f |
switch (val_type) {
|
|
Packit Service |
a1bd4f |
case NM_SUPPL_OPT_TYPE_INT:
|
|
Packit Service |
a1bd4f |
{
|
|
Packit Service |
a1bd4f |
g_assert(g_variant_is_of_type(config_value, G_VARIANT_TYPE_INT32));
|
|
Packit Service |
a1bd4f |
g_assert_cmpint(g_variant_get_int32(config_value), ==, GPOINTER_TO_INT(expected));
|
|
Packit Service |
a1bd4f |
break;
|
|
Packit Service |
a1bd4f |
}
|
|
Packit Service |
a1bd4f |
case NM_SUPPL_OPT_TYPE_BYTES:
|
|
Packit Service |
a1bd4f |
{
|
|
Packit Service |
a1bd4f |
const guint8 *expected_bytes;
|
|
Packit Service |
a1bd4f |
gsize expected_len = 0;
|
|
Packit Service |
a1bd4f |
const guint8 *config_bytes;
|
|
Packit Service |
a1bd4f |
gsize config_len = 0;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
expected_bytes = g_bytes_get_data((GBytes *) expected, &expected_len);
|
|
Packit Service |
a1bd4f |
g_assert(g_variant_is_of_type(config_value, G_VARIANT_TYPE_BYTESTRING));
|
|
Packit Service |
a1bd4f |
config_bytes = g_variant_get_fixed_array(config_value, &config_len, 1);
|
|
Packit Service |
a1bd4f |
g_assert_cmpmem(config_bytes, config_len, expected_bytes, expected_len);
|
|
Packit Service |
a1bd4f |
break;
|
|
Packit Service |
a1bd4f |
}
|
|
Packit Service |
a1bd4f |
case NM_SUPPL_OPT_TYPE_KEYWORD:
|
|
Packit Service |
a1bd4f |
case NM_SUPPL_OPT_TYPE_STRING:
|
|
Packit Service |
a1bd4f |
{
|
|
Packit Service |
a1bd4f |
const char *expected_str = expected;
|
|
Packit Service |
a1bd4f |
const char *config_str;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
g_assert(g_variant_is_of_type(config_value, G_VARIANT_TYPE_STRING));
|
|
Packit Service |
a1bd4f |
config_str = g_variant_get_string(config_value, NULL);
|
|
Packit Service |
a1bd4f |
g_assert_cmpstr(config_str, ==, expected_str);
|
|
Packit Service |
a1bd4f |
break;
|
|
Packit Service |
a1bd4f |
}
|
|
Packit Service |
a1bd4f |
default:
|
|
Packit Service |
a1bd4f |
g_assert_not_reached();
|
|
Packit Service |
a1bd4f |
break;
|
|
Packit Service |
a1bd4f |
}
|
|
Packit Service |
a1bd4f |
}
|
|
Packit Service |
a1bd4f |
g_variant_unref(config_value);
|
|
Packit Service |
a1bd4f |
}
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
return found;
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static GVariant *
|
|
Packit Service |
a1bd4f |
build_supplicant_config(NMConnection * connection,
|
|
Packit Service |
a1bd4f |
guint mtu,
|
|
Packit Service |
a1bd4f |
guint fixed_freq,
|
|
Packit Service |
a1bd4f |
NMSupplCapMask capabilities)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
gs_unref_object NMSupplicantConfig *config = NULL;
|
|
Packit Service |
a1bd4f |
gs_free_error GError * error = NULL;
|
|
Packit Service |
a1bd4f |
NMSettingWireless * s_wifi;
|
|
Packit Service |
a1bd4f |
NMSettingWirelessSecurity *s_wsec;
|
|
Packit Service |
a1bd4f |
NMSetting8021x * s_8021x;
|
|
Packit Service |
a1bd4f |
gboolean success;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
config = nm_supplicant_config_new(capabilities);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
s_wifi = nm_connection_get_setting_wireless(connection);
|
|
Packit Service |
a1bd4f |
g_assert(s_wifi);
|
|
Packit Service |
a1bd4f |
success = nm_supplicant_config_add_setting_wireless(config, s_wifi, fixed_freq, &error);
|
|
Packit Service |
a1bd4f |
g_assert_no_error(error);
|
|
Packit Service |
a1bd4f |
g_assert(success);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
s_wsec = nm_connection_get_setting_wireless_security(connection);
|
|
Packit Service |
a1bd4f |
if (s_wsec) {
|
|
Packit Service |
a1bd4f |
NMSettingWirelessSecurityPmf pmf = nm_setting_wireless_security_get_pmf(s_wsec);
|
|
Packit Service |
a1bd4f |
NMSettingWirelessSecurityFils fils = nm_setting_wireless_security_get_fils(s_wsec);
|
|
Packit Service |
a1bd4f |
s_8021x = nm_connection_get_setting_802_1x(connection);
|
|
Packit Service |
a1bd4f |
success =
|
|
Packit Service |
a1bd4f |
nm_supplicant_config_add_setting_wireless_security(config,
|
|
Packit Service |
a1bd4f |
s_wsec,
|
|
Packit Service |
a1bd4f |
s_8021x,
|
|
Packit Service |
a1bd4f |
nm_connection_get_uuid(connection),
|
|
Packit Service |
a1bd4f |
mtu,
|
|
Packit Service |
a1bd4f |
pmf,
|
|
Packit Service |
a1bd4f |
fils,
|
|
Packit Service |
a1bd4f |
&error);
|
|
Packit Service |
a1bd4f |
} else {
|
|
Packit Service |
a1bd4f |
success = nm_supplicant_config_add_no_security(config, &error);
|
|
Packit Service |
a1bd4f |
}
|
|
Packit Service |
a1bd4f |
g_assert_no_error(error);
|
|
Packit Service |
a1bd4f |
g_assert(success);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
success = nm_supplicant_config_add_bgscan(config, connection, &error);
|
|
Packit Service |
a1bd4f |
g_assert_no_error(error);
|
|
Packit Service |
a1bd4f |
g_assert(success);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
return nm_supplicant_config_to_variant(config);
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static NMConnection *
|
|
Packit Service |
a1bd4f |
new_basic_connection(const char *id, GBytes *ssid, const char *bssid_str)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
NMConnection * connection;
|
|
Packit Service |
a1bd4f |
NMSettingConnection *s_con;
|
|
Packit Service |
a1bd4f |
NMSettingWireless * s_wifi;
|
|
Packit Service |
a1bd4f |
NMSettingIPConfig * s_ip4;
|
|
Packit Service |
a1bd4f |
gs_free char * uuid = nm_utils_uuid_generate();
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
connection = nm_simple_connection_new();
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
/* Connection setting */
|
|
Packit Service |
a1bd4f |
s_con = (NMSettingConnection *) nm_setting_connection_new();
|
|
Packit Service |
a1bd4f |
nm_connection_add_setting(connection, NM_SETTING(s_con));
|
|
Packit Service |
a1bd4f |
g_object_set(s_con,
|
|
Packit Service |
a1bd4f |
NM_SETTING_CONNECTION_ID,
|
|
Packit Service |
a1bd4f |
id,
|
|
Packit Service |
a1bd4f |
NM_SETTING_CONNECTION_UUID,
|
|
Packit Service |
a1bd4f |
uuid,
|
|
Packit Service |
a1bd4f |
NM_SETTING_CONNECTION_AUTOCONNECT,
|
|
Packit Service |
a1bd4f |
TRUE,
|
|
Packit Service |
a1bd4f |
NM_SETTING_CONNECTION_TYPE,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SETTING_NAME,
|
|
Packit Service |
a1bd4f |
NULL);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
/* Wifi setting */
|
|
Packit Service |
a1bd4f |
s_wifi = (NMSettingWireless *) nm_setting_wireless_new();
|
|
Packit Service |
a1bd4f |
nm_connection_add_setting(connection, NM_SETTING(s_wifi));
|
|
Packit Service |
a1bd4f |
g_object_set(s_wifi,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SSID,
|
|
Packit Service |
a1bd4f |
ssid,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_BSSID,
|
|
Packit Service |
a1bd4f |
bssid_str,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_MODE,
|
|
Packit Service |
a1bd4f |
"infrastructure",
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_BAND,
|
|
Packit Service |
a1bd4f |
"bg",
|
|
Packit Service |
a1bd4f |
NULL);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
/* IP4 setting */
|
|
Packit Service |
a1bd4f |
s_ip4 = (NMSettingIPConfig *) nm_setting_ip4_config_new();
|
|
Packit Service |
a1bd4f |
nm_connection_add_setting(connection, NM_SETTING(s_ip4));
|
|
Packit Service |
a1bd4f |
g_object_set(s_ip4, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_AUTO, NULL);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
return connection;
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static void
|
|
Packit Service |
a1bd4f |
test_wifi_open(void)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
gs_unref_object NMConnection *connection = NULL;
|
|
Packit Service |
a1bd4f |
gs_unref_variant GVariant *config_dict = NULL;
|
|
Packit Service |
a1bd4f |
gboolean success;
|
|
Packit Service |
a1bd4f |
GError * error = NULL;
|
|
Packit Service |
a1bd4f |
const unsigned char ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *ssid = g_bytes_new(ssid_data, sizeof(ssid_data));
|
|
Packit Service |
a1bd4f |
const char * bssid_str = "11:22:33:44:55:66";
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
connection = new_basic_connection("Test Wifi Open", ssid, bssid_str);
|
|
Packit Service |
a1bd4f |
success = nm_connection_verify(connection, &error);
|
|
Packit Service |
a1bd4f |
g_assert_no_error(error);
|
|
Packit Service |
a1bd4f |
g_assert(success);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'bssid' value '11:22:33:44:55:66'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'NONE'");
|
|
Packit Service |
a1bd4f |
config_dict =
|
|
Packit Service |
a1bd4f |
build_supplicant_config(connection,
|
|
Packit Service |
a1bd4f |
1500,
|
|
Packit Service |
a1bd4f |
0,
|
|
Packit Service |
a1bd4f |
NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
|
|
Packit Service |
a1bd4f |
g_test_assert_expected_messages();
|
|
Packit Service |
a1bd4f |
g_assert(config_dict);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-open", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-open", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-open", config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-open", config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "NONE");
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static void
|
|
Packit Service |
a1bd4f |
test_wifi_wep_key(const char * detail,
|
|
Packit Service |
a1bd4f |
gboolean test_bssid,
|
|
Packit Service |
a1bd4f |
NMWepKeyType wep_type,
|
|
Packit Service |
a1bd4f |
const char * key_data,
|
|
Packit Service |
a1bd4f |
const unsigned char *expected,
|
|
Packit Service |
a1bd4f |
size_t expected_size)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
gs_unref_object NMConnection *connection = NULL;
|
|
Packit Service |
a1bd4f |
gs_unref_variant GVariant *config_dict = NULL;
|
|
Packit Service |
a1bd4f |
NMSettingWirelessSecurity *s_wsec;
|
|
Packit Service |
a1bd4f |
gboolean success;
|
|
Packit Service |
a1bd4f |
GError * error = NULL;
|
|
Packit Service |
a1bd4f |
const unsigned char ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *ssid = g_bytes_new(ssid_data, sizeof(ssid_data));
|
|
Packit Service |
a1bd4f |
const char * bssid_str = "11:22:33:44:55:66";
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *wep_key_bytes = g_bytes_new(expected, expected_size);
|
|
Packit Service |
a1bd4f |
const char * bgscan_data = "simple:30:-70:86400";
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *bgscan = g_bytes_new(bgscan_data, strlen(bgscan_data));
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
connection = new_basic_connection("Test Wifi WEP Key", ssid, test_bssid ? bssid_str : NULL);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
/* Wifi Security setting */
|
|
Packit Service |
a1bd4f |
s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new();
|
|
Packit Service |
a1bd4f |
nm_connection_add_setting(connection, NM_SETTING(s_wsec));
|
|
Packit Service |
a1bd4f |
g_object_set(s_wsec,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_KEY_MGMT,
|
|
Packit Service |
a1bd4f |
"none",
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE,
|
|
Packit Service |
a1bd4f |
wep_type,
|
|
Packit Service |
a1bd4f |
NULL);
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_set_wep_key(s_wsec, 0, key_data);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
success = nm_connection_verify(connection, &error);
|
|
Packit Service |
a1bd4f |
g_assert_no_error(error);
|
|
Packit Service |
a1bd4f |
g_assert(success);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
|
|
Packit Service |
a1bd4f |
if (test_bssid)
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'bssid' value '11:22:33:44:55:66'*");
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'NONE'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'wep_key0' value *");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'wep_tx_keyidx' value '0'");
|
|
Packit Service |
a1bd4f |
if (!test_bssid)
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'bgscan' value 'simple:30:-70:86400'*");
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
config_dict =
|
|
Packit Service |
a1bd4f |
build_supplicant_config(connection,
|
|
Packit Service |
a1bd4f |
1500,
|
|
Packit Service |
a1bd4f |
0,
|
|
Packit Service |
a1bd4f |
NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
|
|
Packit Service |
a1bd4f |
g_test_assert_expected_messages();
|
|
Packit Service |
a1bd4f |
g_assert(config_dict);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
|
|
Packit Service |
a1bd4f |
if (test_bssid)
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
|
|
Packit Service |
a1bd4f |
else
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "bgscan", NM_SUPPL_OPT_TYPE_BYTES, bgscan);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "NONE");
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "wep_tx_keyidx", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(0));
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "wep_key0", NM_SUPPL_OPT_TYPE_BYTES, wep_key_bytes);
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static void
|
|
Packit Service |
a1bd4f |
test_wifi_wep(void)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
const char * key1 = "12345";
|
|
Packit Service |
a1bd4f |
const unsigned char key1_expected[] = {0x31, 0x32, 0x33, 0x34, 0x35};
|
|
Packit Service |
a1bd4f |
const char * key2 = "ascii test$$$";
|
|
Packit Service |
a1bd4f |
const unsigned char key2_expected[] =
|
|
Packit Service |
a1bd4f |
{0x61, 0x73, 0x63, 0x69, 0x69, 0x20, 0x74, 0x65, 0x73, 0x74, 0x24, 0x24, 0x24};
|
|
Packit Service |
a1bd4f |
const char * key3 = "abcdef1234";
|
|
Packit Service |
a1bd4f |
const unsigned char key3_expected[] = {0xab, 0xcd, 0xef, 0x12, 0x34};
|
|
Packit Service |
a1bd4f |
const char * key4 = "96aec785c6392675f87f592972";
|
|
Packit Service |
a1bd4f |
const unsigned char key4_expected[] =
|
|
Packit Service |
a1bd4f |
{0x96, 0xae, 0xc7, 0x85, 0xc6, 0x39, 0x26, 0x75, 0xf8, 0x7f, 0x59, 0x29, 0x72};
|
|
Packit Service |
a1bd4f |
const char * key5 = "r34lly l33t w3p p4ssphr4s3 for t3st1ng";
|
|
Packit Service |
a1bd4f |
const unsigned char key5_expected[] =
|
|
Packit Service |
a1bd4f |
{0xce, 0x68, 0x8b, 0x35, 0xf6, 0x0a, 0x2b, 0xbf, 0xc9, 0x8f, 0xed, 0x10, 0xda};
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
test_wifi_wep_key("wifi-wep-ascii-40",
|
|
Packit Service |
a1bd4f |
TRUE,
|
|
Packit Service |
a1bd4f |
NM_WEP_KEY_TYPE_KEY,
|
|
Packit Service |
a1bd4f |
key1,
|
|
Packit Service |
a1bd4f |
key1_expected,
|
|
Packit Service |
a1bd4f |
sizeof(key1_expected));
|
|
Packit Service |
a1bd4f |
test_wifi_wep_key("wifi-wep-ascii-104",
|
|
Packit Service |
a1bd4f |
TRUE,
|
|
Packit Service |
a1bd4f |
NM_WEP_KEY_TYPE_KEY,
|
|
Packit Service |
a1bd4f |
key2,
|
|
Packit Service |
a1bd4f |
key2_expected,
|
|
Packit Service |
a1bd4f |
sizeof(key2_expected));
|
|
Packit Service |
a1bd4f |
test_wifi_wep_key("wifi-wep-hex-40",
|
|
Packit Service |
a1bd4f |
TRUE,
|
|
Packit Service |
a1bd4f |
NM_WEP_KEY_TYPE_KEY,
|
|
Packit Service |
a1bd4f |
key3,
|
|
Packit Service |
a1bd4f |
key3_expected,
|
|
Packit Service |
a1bd4f |
sizeof(key3_expected));
|
|
Packit Service |
a1bd4f |
test_wifi_wep_key("wifi-wep-hex-104",
|
|
Packit Service |
a1bd4f |
TRUE,
|
|
Packit Service |
a1bd4f |
NM_WEP_KEY_TYPE_KEY,
|
|
Packit Service |
a1bd4f |
key4,
|
|
Packit Service |
a1bd4f |
key4_expected,
|
|
Packit Service |
a1bd4f |
sizeof(key4_expected));
|
|
Packit Service |
a1bd4f |
test_wifi_wep_key("wifi-wep-passphrase-104",
|
|
Packit Service |
a1bd4f |
TRUE,
|
|
Packit Service |
a1bd4f |
NM_WEP_KEY_TYPE_PASSPHRASE,
|
|
Packit Service |
a1bd4f |
key5,
|
|
Packit Service |
a1bd4f |
key5_expected,
|
|
Packit Service |
a1bd4f |
sizeof(key5_expected));
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
test_wifi_wep_key("wifi-wep-old-hex-104",
|
|
Packit Service |
a1bd4f |
TRUE,
|
|
Packit Service |
a1bd4f |
NM_WEP_KEY_TYPE_UNKNOWN,
|
|
Packit Service |
a1bd4f |
key4,
|
|
Packit Service |
a1bd4f |
key4_expected,
|
|
Packit Service |
a1bd4f |
sizeof(key4_expected));
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
/* Unlocked BSSID to test bgscan */
|
|
Packit Service |
a1bd4f |
test_wifi_wep_key("wifi-wep-hex-40",
|
|
Packit Service |
a1bd4f |
FALSE,
|
|
Packit Service |
a1bd4f |
NM_WEP_KEY_TYPE_KEY,
|
|
Packit Service |
a1bd4f |
key3,
|
|
Packit Service |
a1bd4f |
key3_expected,
|
|
Packit Service |
a1bd4f |
sizeof(key3_expected));
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static void
|
|
Packit Service |
a1bd4f |
test_wifi_wpa_psk(const char * detail,
|
|
Packit Service |
a1bd4f |
NMSupplOptType key_type,
|
|
Packit Service |
a1bd4f |
const char * key_data,
|
|
Packit Service |
a1bd4f |
const unsigned char * expected,
|
|
Packit Service |
a1bd4f |
size_t expected_size,
|
|
Packit Service |
a1bd4f |
NMSettingWirelessSecurityPmf pmf)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
gs_unref_object NMConnection *connection = NULL;
|
|
Packit Service |
a1bd4f |
gs_unref_variant GVariant *config_dict = NULL;
|
|
Packit Service |
a1bd4f |
NMSettingWirelessSecurity *s_wsec;
|
|
Packit Service |
a1bd4f |
gboolean success;
|
|
Packit Service |
a1bd4f |
GError * error = NULL;
|
|
Packit Service |
a1bd4f |
const unsigned char ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *ssid = g_bytes_new(ssid_data, sizeof(ssid_data));
|
|
Packit Service |
a1bd4f |
const char * bssid_str = "11:22:33:44:55:66";
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *wpa_psk_bytes = g_bytes_new(expected, expected_size);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
connection = new_basic_connection("Test Wifi WPA PSK", ssid, bssid_str);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
/* Wifi Security setting */
|
|
Packit Service |
a1bd4f |
s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new();
|
|
Packit Service |
a1bd4f |
nm_connection_add_setting(connection, NM_SETTING(s_wsec));
|
|
Packit Service |
a1bd4f |
g_object_set(s_wsec,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_KEY_MGMT,
|
|
Packit Service |
a1bd4f |
"wpa-psk",
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_PSK,
|
|
Packit Service |
a1bd4f |
key_data,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_PMF,
|
|
Packit Service |
a1bd4f |
(int) pmf,
|
|
Packit Service |
a1bd4f |
NULL);
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_proto(s_wsec, "wpa");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_proto(s_wsec, "rsn");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_pairwise(s_wsec, "tkip");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_pairwise(s_wsec, "ccmp");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_group(s_wsec, "tkip");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_group(s_wsec, "ccmp");
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
success = nm_connection_verify(connection, &error);
|
|
Packit Service |
a1bd4f |
g_assert_no_error(error);
|
|
Packit Service |
a1bd4f |
g_assert(success);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'bssid' value '11:22:33:44:55:66'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'WPA-PSK WPA-PSK-SHA256'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'psk' value *");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'proto' value 'WPA RSN'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'pairwise' value 'TKIP CCMP'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'group' value 'TKIP CCMP'");
|
|
Packit Service |
a1bd4f |
switch (pmf) {
|
|
Packit Service |
a1bd4f |
case NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE:
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ieee80211w' value '0'");
|
|
Packit Service |
a1bd4f |
break;
|
|
Packit Service |
a1bd4f |
case NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED:
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ieee80211w' value '2'");
|
|
Packit Service |
a1bd4f |
break;
|
|
Packit Service |
a1bd4f |
default:
|
|
Packit Service |
a1bd4f |
break;
|
|
Packit Service |
a1bd4f |
}
|
|
Packit Service |
a1bd4f |
config_dict =
|
|
Packit Service |
a1bd4f |
build_supplicant_config(connection,
|
|
Packit Service |
a1bd4f |
1500,
|
|
Packit Service |
a1bd4f |
0,
|
|
Packit Service |
a1bd4f |
NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
g_test_assert_expected_messages();
|
|
Packit Service |
a1bd4f |
g_assert(config_dict);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
|
|
Packit Service |
a1bd4f |
validate_opt(detail,
|
|
Packit Service |
a1bd4f |
config_dict,
|
|
Packit Service |
a1bd4f |
"key_mgmt",
|
|
Packit Service |
a1bd4f |
NM_SUPPL_OPT_TYPE_KEYWORD,
|
|
Packit Service |
a1bd4f |
"WPA-PSK WPA-PSK-SHA256");
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
|
|
Packit Service |
a1bd4f |
if (key_type == NM_SUPPL_OPT_TYPE_BYTES)
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "psk", key_type, wpa_psk_bytes);
|
|
Packit Service |
a1bd4f |
else if (key_type == NM_SUPPL_OPT_TYPE_STRING)
|
|
Packit Service |
a1bd4f |
validate_opt(detail, config_dict, "psk", key_type, expected);
|
|
Packit Service |
a1bd4f |
else
|
|
Packit Service |
a1bd4f |
g_assert_not_reached();
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static void
|
|
Packit Service |
a1bd4f |
test_wifi_sae_psk(const char *psk)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
gs_unref_object NMConnection *connection = NULL;
|
|
Packit Service |
a1bd4f |
gs_unref_variant GVariant *config_dict = NULL;
|
|
Packit Service |
a1bd4f |
NMSettingWirelessSecurity *s_wsec;
|
|
Packit Service |
a1bd4f |
gboolean success;
|
|
Packit Service |
a1bd4f |
GError * error = NULL;
|
|
Packit Service |
a1bd4f |
const unsigned char ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *ssid = g_bytes_new(ssid_data, sizeof(ssid_data));
|
|
Packit Service |
a1bd4f |
const char * bssid_str = "11:22:33:44:55:66";
|
|
Packit Service |
a1bd4f |
int short_psk = strlen(psk) < 8;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
connection = new_basic_connection("Test Wifi SAE", ssid, bssid_str);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
/* Wifi Security setting */
|
|
Packit Service |
a1bd4f |
s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new();
|
|
Packit Service |
a1bd4f |
nm_connection_add_setting(connection, NM_SETTING(s_wsec));
|
|
Packit Service |
a1bd4f |
g_object_set(s_wsec,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_KEY_MGMT,
|
|
Packit Service |
a1bd4f |
"sae",
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_PSK,
|
|
Packit Service |
a1bd4f |
psk,
|
|
Packit Service |
a1bd4f |
NULL);
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_proto(s_wsec, "rsn");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_pairwise(s_wsec, "tkip");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_pairwise(s_wsec, "ccmp");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_group(s_wsec, "tkip");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_group(s_wsec, "ccmp");
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
success = nm_connection_verify(connection, &error);
|
|
Packit Service |
a1bd4f |
g_assert_no_error(error);
|
|
Packit Service |
a1bd4f |
g_assert(success);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'bssid' value '11:22:33:44:55:66'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'SAE'");
|
|
Packit Service |
a1bd4f |
if (short_psk)
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'sae_password' value *");
|
|
Packit Service |
a1bd4f |
else
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'psk' value *");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'proto' value 'RSN'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'pairwise' value 'TKIP CCMP'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'group' value 'TKIP CCMP'");
|
|
Packit Service |
a1bd4f |
config_dict =
|
|
Packit Service |
a1bd4f |
build_supplicant_config(connection,
|
|
Packit Service |
a1bd4f |
1500,
|
|
Packit Service |
a1bd4f |
0,
|
|
Packit Service |
a1bd4f |
NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
g_test_assert_expected_messages();
|
|
Packit Service |
a1bd4f |
g_assert(config_dict);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-sae", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-sae", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-sae", config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-sae", config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "SAE");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-sae", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "RSN");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-sae", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-sae", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
|
|
Packit Service |
a1bd4f |
if (short_psk)
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-sae", config_dict, "sae_password", NM_SUPPL_OPT_TYPE_KEYWORD, psk);
|
|
Packit Service |
a1bd4f |
else
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-sae", config_dict, "psk", NM_SUPPL_OPT_TYPE_KEYWORD, psk);
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static void
|
|
Packit Service |
a1bd4f |
test_wifi_sae(void)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
test_wifi_sae_psk("Moo");
|
|
Packit Service |
a1bd4f |
test_wifi_sae_psk("Hello World!");
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static void
|
|
Packit Service |
a1bd4f |
test_wifi_wpa_psk_types(void)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
const char * key1 = "d4721e911461d3cdef9793858e977fcda091779243abb7316c2f11605a160893";
|
|
Packit Service |
a1bd4f |
const unsigned char key1_expected[] = {0xd4, 0x72, 0x1e, 0x91, 0x14, 0x61, 0xd3, 0xcd,
|
|
Packit Service |
a1bd4f |
0xef, 0x97, 0x93, 0x85, 0x8e, 0x97, 0x7f, 0xcd,
|
|
Packit Service |
a1bd4f |
0xa0, 0x91, 0x77, 0x92, 0x43, 0xab, 0xb7, 0x31,
|
|
Packit Service |
a1bd4f |
0x6c, 0x2f, 0x11, 0x60, 0x5a, 0x16, 0x08, 0x93};
|
|
Packit Service |
a1bd4f |
const char * key2 = "r34lly l33t wp4 p4ssphr4s3 for t3st1ng";
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
test_wifi_wpa_psk("wifi-wpa-psk-hex",
|
|
Packit Service |
a1bd4f |
NM_SUPPL_OPT_TYPE_BYTES,
|
|
Packit Service |
a1bd4f |
key1,
|
|
Packit Service |
a1bd4f |
key1_expected,
|
|
Packit Service |
a1bd4f |
sizeof(key1_expected),
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL);
|
|
Packit Service |
a1bd4f |
test_wifi_wpa_psk("wifi-wep-psk-passphrase",
|
|
Packit Service |
a1bd4f |
NM_SUPPL_OPT_TYPE_STRING,
|
|
Packit Service |
a1bd4f |
key2,
|
|
Packit Service |
a1bd4f |
(gconstpointer) key2,
|
|
Packit Service |
a1bd4f |
strlen(key2),
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED);
|
|
Packit Service |
a1bd4f |
test_wifi_wpa_psk("pmf-disabled",
|
|
Packit Service |
a1bd4f |
NM_SUPPL_OPT_TYPE_STRING,
|
|
Packit Service |
a1bd4f |
key2,
|
|
Packit Service |
a1bd4f |
(gconstpointer) key2,
|
|
Packit Service |
a1bd4f |
strlen(key2),
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE);
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static NMConnection *
|
|
Packit Service |
a1bd4f |
generate_wifi_eap_connection(const char * id,
|
|
Packit Service |
a1bd4f |
GBytes * ssid,
|
|
Packit Service |
a1bd4f |
const char * bssid_str,
|
|
Packit Service |
a1bd4f |
NMSettingWirelessSecurityFils fils)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
NMConnection * connection = NULL;
|
|
Packit Service |
a1bd4f |
NMSettingWirelessSecurity *s_wsec;
|
|
Packit Service |
a1bd4f |
NMSetting8021x * s_8021x;
|
|
Packit Service |
a1bd4f |
gboolean success;
|
|
Packit Service |
a1bd4f |
GError * error = NULL;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
connection = new_basic_connection(id, ssid, bssid_str);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
/* Wifi Security setting */
|
|
Packit Service |
a1bd4f |
s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new();
|
|
Packit Service |
a1bd4f |
nm_connection_add_setting(connection, NM_SETTING(s_wsec));
|
|
Packit Service |
a1bd4f |
g_object_set(s_wsec,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_KEY_MGMT,
|
|
Packit Service |
a1bd4f |
"wpa-eap",
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_FILS,
|
|
Packit Service |
a1bd4f |
(int) fils,
|
|
Packit Service |
a1bd4f |
NULL);
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_proto(s_wsec, "wpa");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_proto(s_wsec, "rsn");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_pairwise(s_wsec, "tkip");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_pairwise(s_wsec, "ccmp");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_group(s_wsec, "tkip");
|
|
Packit Service |
a1bd4f |
nm_setting_wireless_security_add_group(s_wsec, "ccmp");
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
/* 802-1X setting */
|
|
Packit Service |
a1bd4f |
s_8021x = (NMSetting8021x *) nm_setting_802_1x_new();
|
|
Packit Service |
a1bd4f |
nm_connection_add_setting(connection, NM_SETTING(s_8021x));
|
|
Packit Service |
a1bd4f |
nm_setting_802_1x_add_eap_method(s_8021x, "tls");
|
|
Packit Service |
a1bd4f |
nm_setting_802_1x_set_client_cert(s_8021x,
|
|
Packit Service |
a1bd4f |
TEST_CERT_DIR "/test-cert.p12",
|
|
Packit Service |
a1bd4f |
NM_SETTING_802_1X_CK_SCHEME_PATH,
|
|
Packit Service |
a1bd4f |
NULL,
|
|
Packit Service |
a1bd4f |
NULL);
|
|
Packit Service |
a1bd4f |
g_assert(nm_setting_802_1x_set_ca_cert(s_8021x,
|
|
Packit Service |
a1bd4f |
TEST_CERT_DIR "/test-ca-cert.pem",
|
|
Packit Service |
a1bd4f |
NM_SETTING_802_1X_CK_SCHEME_PATH,
|
|
Packit Service |
a1bd4f |
NULL,
|
|
Packit Service |
a1bd4f |
NULL));
|
|
Packit Service |
a1bd4f |
nm_setting_802_1x_set_private_key(s_8021x,
|
|
Packit Service |
a1bd4f |
TEST_CERT_DIR "/test-cert.p12",
|
|
Packit Service |
a1bd4f |
NULL,
|
|
Packit Service |
a1bd4f |
NM_SETTING_802_1X_CK_SCHEME_PATH,
|
|
Packit Service |
a1bd4f |
NULL,
|
|
Packit Service |
a1bd4f |
NULL);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
success = nm_connection_verify(connection, &error);
|
|
Packit Service |
a1bd4f |
g_assert_no_error(error);
|
|
Packit Service |
a1bd4f |
g_assert(success);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
return connection;
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static void
|
|
Packit Service |
a1bd4f |
test_wifi_eap_locked_bssid(void)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
gs_unref_object NMConnection *connection = NULL;
|
|
Packit Service |
a1bd4f |
gs_unref_variant GVariant *config_dict = NULL;
|
|
Packit Service |
a1bd4f |
const unsigned char ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *ssid = g_bytes_new(ssid_data, sizeof(ssid_data));
|
|
Packit Service |
a1bd4f |
const char * bssid_str = "11:22:33:44:55:66";
|
|
Packit Service |
a1bd4f |
guint32 mtu = 1100;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
connection = generate_wifi_eap_connection("Test Wifi EAP-TLS Locked",
|
|
Packit Service |
a1bd4f |
ssid,
|
|
Packit Service |
a1bd4f |
bssid_str,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'bssid' value '11:22:33:44:55:66'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'WPA-EAP'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'proto' value 'WPA RSN'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'pairwise' value 'TKIP CCMP'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'group' value 'TKIP CCMP'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'eap' value 'TLS'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'fragment_size' value '1086'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ca_cert' value '*/test-ca-cert.pem'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'private_key' value '*/test-cert.p12'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'proactive_key_caching' value '1'");
|
|
Packit Service |
a1bd4f |
config_dict = build_supplicant_config(connection, mtu, 0, NM_SUPPL_CAP_MASK_NONE);
|
|
Packit Service |
a1bd4f |
g_test_assert_expected_messages();
|
|
Packit Service |
a1bd4f |
g_assert(config_dict);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA-EAP");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "eap", NM_SUPPL_OPT_TYPE_KEYWORD, "TLS");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap",
|
|
Packit Service |
a1bd4f |
config_dict,
|
|
Packit Service |
a1bd4f |
"fragment_size",
|
|
Packit Service |
a1bd4f |
NM_SUPPL_OPT_TYPE_INT,
|
|
Packit Service |
a1bd4f |
GINT_TO_POINTER(mtu - 14));
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static void
|
|
Packit Service |
a1bd4f |
test_wifi_eap_unlocked_bssid(void)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
gs_unref_object NMConnection *connection = NULL;
|
|
Packit Service |
a1bd4f |
gs_unref_variant GVariant *config_dict = NULL;
|
|
Packit Service |
a1bd4f |
const unsigned char ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *ssid = g_bytes_new(ssid_data, sizeof(ssid_data));
|
|
Packit Service |
a1bd4f |
const char * bgscan_data = "simple:30:-65:300";
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *bgscan = g_bytes_new(bgscan_data, strlen(bgscan_data));
|
|
Packit Service |
a1bd4f |
guint32 mtu = 1100;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
connection = generate_wifi_eap_connection("Test Wifi EAP-TLS Unlocked",
|
|
Packit Service |
a1bd4f |
ssid,
|
|
Packit Service |
a1bd4f |
NULL,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'FILS-SHA256 FILS-SHA384'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'proto' value 'WPA RSN'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'pairwise' value 'TKIP CCMP'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'group' value 'TKIP CCMP'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'eap' value 'TLS'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'fragment_size' value '1086'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ca_cert' value '*/test-ca-cert.pem'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'private_key' value '*/test-cert.p12'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'proactive_key_caching' value '1'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'bgscan' value 'simple:30:-65:300'");
|
|
Packit Service |
a1bd4f |
config_dict = build_supplicant_config(connection, mtu, 0, NM_SUPPL_CAP_MASK_T_FILS_YES);
|
|
Packit Service |
a1bd4f |
g_test_assert_expected_messages();
|
|
Packit Service |
a1bd4f |
g_assert(config_dict);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap",
|
|
Packit Service |
a1bd4f |
config_dict,
|
|
Packit Service |
a1bd4f |
"key_mgmt",
|
|
Packit Service |
a1bd4f |
NM_SUPPL_OPT_TYPE_KEYWORD,
|
|
Packit Service |
a1bd4f |
"FILS-SHA256 FILS-SHA384");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "eap", NM_SUPPL_OPT_TYPE_KEYWORD, "TLS");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap",
|
|
Packit Service |
a1bd4f |
config_dict,
|
|
Packit Service |
a1bd4f |
"fragment_size",
|
|
Packit Service |
a1bd4f |
NM_SUPPL_OPT_TYPE_INT,
|
|
Packit Service |
a1bd4f |
GINT_TO_POINTER(mtu - 14));
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "bgscan", NM_SUPPL_OPT_TYPE_BYTES, bgscan);
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static void
|
|
Packit Service |
a1bd4f |
test_wifi_eap_fils_disabled(void)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
gs_unref_object NMConnection *connection = NULL;
|
|
Packit Service |
a1bd4f |
gs_unref_variant GVariant *config_dict = NULL;
|
|
Packit Service |
a1bd4f |
const unsigned char ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *ssid = g_bytes_new(ssid_data, sizeof(ssid_data));
|
|
Packit Service |
a1bd4f |
const char * bgscan_data = "simple:30:-65:300";
|
|
Packit Service |
a1bd4f |
gs_unref_bytes GBytes *bgscan = g_bytes_new(bgscan_data, strlen(bgscan_data));
|
|
Packit Service |
a1bd4f |
guint32 mtu = 1100;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
connection = generate_wifi_eap_connection("Test Wifi FILS disabled",
|
|
Packit Service |
a1bd4f |
ssid,
|
|
Packit Service |
a1bd4f |
NULL,
|
|
Packit Service |
a1bd4f |
NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'WPA-EAP WPA-EAP-SHA256'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'proto' value 'WPA RSN'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'pairwise' value 'TKIP CCMP'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'group' value 'TKIP CCMP'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'eap' value 'TLS'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'fragment_size' value '1086'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'ca_cert' value '*/test-ca-cert.pem'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'private_key' value '*/test-cert.p12'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'proactive_key_caching' value '1'");
|
|
Packit Service |
a1bd4f |
NMTST_EXPECT_NM_INFO("Config: added 'bgscan' value 'simple:30:-65:300'");
|
|
Packit Service |
a1bd4f |
config_dict =
|
|
Packit Service |
a1bd4f |
build_supplicant_config(connection,
|
|
Packit Service |
a1bd4f |
mtu,
|
|
Packit Service |
a1bd4f |
0,
|
|
Packit Service |
a1bd4f |
NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
|
|
Packit Service |
a1bd4f |
g_test_assert_expected_messages();
|
|
Packit Service |
a1bd4f |
g_assert(config_dict);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap",
|
|
Packit Service |
a1bd4f |
config_dict,
|
|
Packit Service |
a1bd4f |
"key_mgmt",
|
|
Packit Service |
a1bd4f |
NM_SUPPL_OPT_TYPE_KEYWORD,
|
|
Packit Service |
a1bd4f |
"WPA-EAP WPA-EAP-SHA256");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "eap", NM_SUPPL_OPT_TYPE_KEYWORD, "TLS");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap",
|
|
Packit Service |
a1bd4f |
config_dict,
|
|
Packit Service |
a1bd4f |
"fragment_size",
|
|
Packit Service |
a1bd4f |
NM_SUPPL_OPT_TYPE_INT,
|
|
Packit Service |
a1bd4f |
GINT_TO_POINTER(mtu - 14));
|
|
Packit Service |
a1bd4f |
validate_opt("wifi-eap", config_dict, "bgscan", NM_SUPPL_OPT_TYPE_BYTES, bgscan);
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
/*****************************************************************************/
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
static void
|
|
Packit Service |
a1bd4f |
test_suppl_cap_mask(void)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
NMSupplCapType type;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_T_AP_NO, NM_SUPPL_CAP_TYPE_AP),
|
|
Packit Service |
a1bd4f |
==,
|
|
Packit Service |
a1bd4f |
NM_TERNARY_FALSE);
|
|
Packit Service |
a1bd4f |
g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_T_AP_YES, NM_SUPPL_CAP_TYPE_AP),
|
|
Packit Service |
a1bd4f |
==,
|
|
Packit Service |
a1bd4f |
NM_TERNARY_TRUE);
|
|
Packit Service |
a1bd4f |
g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_NONE, NM_SUPPL_CAP_TYPE_AP),
|
|
Packit Service |
a1bd4f |
==,
|
|
Packit Service |
a1bd4f |
NM_TERNARY_DEFAULT);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_T_FILS_NO, NM_SUPPL_CAP_TYPE_FILS),
|
|
Packit Service |
a1bd4f |
==,
|
|
Packit Service |
a1bd4f |
NM_TERNARY_FALSE);
|
|
Packit Service |
a1bd4f |
g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_T_FILS_YES, NM_SUPPL_CAP_TYPE_FILS),
|
|
Packit Service |
a1bd4f |
==,
|
|
Packit Service |
a1bd4f |
NM_TERNARY_TRUE);
|
|
Packit Service |
a1bd4f |
g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_NONE, NM_SUPPL_CAP_TYPE_FILS),
|
|
Packit Service |
a1bd4f |
==,
|
|
Packit Service |
a1bd4f |
NM_TERNARY_DEFAULT);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
for (type = 0; type < _NM_SUPPL_CAP_TYPE_NUM; type++) {
|
|
Packit Service |
a1bd4f |
NMTernary value;
|
|
Packit Service |
a1bd4f |
NMSupplCapMask feature;
|
|
Packit Service |
a1bd4f |
NMSupplCapMask feature2;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
feature = nmtst_get_rand_bool() ? 0u : nmtst_get_rand_uint64();
|
|
Packit Service |
a1bd4f |
feature &= NM_SUPPL_CAP_MASK_ALL;
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
value = nmtst_rand_select(NM_TERNARY_DEFAULT, NM_TERNARY_FALSE, NM_TERNARY_TRUE);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
feature2 = NM_SUPPL_CAP_MASK_SET(feature, type, value);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(feature2, type), ==, value);
|
|
Packit Service |
a1bd4f |
g_assert_cmpint(feature & ~NM_SUPPL_CAP_MASK_MASK(type),
|
|
Packit Service |
a1bd4f |
==,
|
|
Packit Service |
a1bd4f |
feature2 & ~NM_SUPPL_CAP_MASK_MASK(type));
|
|
Packit Service |
a1bd4f |
}
|
|
Packit |
5756e2 |
}
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
/*****************************************************************************/
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
NMTST_DEFINE();
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
int
|
|
Packit Service |
a1bd4f |
main(int argc, char **argv)
|
|
Packit |
5756e2 |
{
|
|
Packit Service |
a1bd4f |
nmtst_init_assert_logging(&argc, &argv, "INFO", "DEFAULT");
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
g_test_add_func("/supplicant-config/wifi-open", test_wifi_open);
|
|
Packit Service |
a1bd4f |
g_test_add_func("/supplicant-config/wifi-wep", test_wifi_wep);
|
|
Packit Service |
a1bd4f |
g_test_add_func("/supplicant-config/wifi-wpa-psk-types", test_wifi_wpa_psk_types);
|
|
Packit Service |
a1bd4f |
g_test_add_func("/supplicant-config/wifi-eap/locked-bssid", test_wifi_eap_locked_bssid);
|
|
Packit Service |
a1bd4f |
g_test_add_func("/supplicant-config/wifi-eap/unlocked-bssid", test_wifi_eap_unlocked_bssid);
|
|
Packit Service |
a1bd4f |
g_test_add_func("/supplicant-config/wifi-eap/fils-disabled", test_wifi_eap_fils_disabled);
|
|
Packit Service |
a1bd4f |
g_test_add_func("/supplicant-config/wifi-sae", test_wifi_sae);
|
|
Packit Service |
a1bd4f |
g_test_add_func("/supplicant-config/test_suppl_cap_mask", test_suppl_cap_mask);
|
|
Packit Service |
a1bd4f |
|
|
Packit Service |
a1bd4f |
return g_test_run();
|
|
Packit |
5756e2 |
}
|