diff options
| author | Michael Biebl <biebl@debian.org> | 2018-10-20 01:31:18 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2018-10-20 01:31:18 +0200 |
| commit | b4885f208ba690090952c0ae0452dd5bc2ba0601 (patch) | |
| tree | 5c8af02da4543f7132b9bad45711a3a65e620d0d /libnm-core | |
| parent | 142485af41b7cf7b0060cc682a56d3ff38cabbb6 (diff) | |
| parent | 6518e361171f64bcaaa4bf868139362ed95cc2e0 (diff) | |
Update upstream source from tag 'upstream/1.14.2'
Update to upstream version '1.14.2' with Debian dir c118292f450ace1133a5dba2777cbeb54977dbe8
Diffstat (limited to 'libnm-core')
| -rw-r--r-- | libnm-core/nm-crypto.c | 3 | ||||
| -rw-r--r-- | libnm-core/nm-keyfile-internal.h | 7 | ||||
| -rw-r--r-- | libnm-core/nm-keyfile.c | 87 | ||||
| -rw-r--r-- | libnm-core/nm-setting-ip-config.c | 2 | ||||
| -rw-r--r-- | libnm-core/nm-setting-sriov.c | 2 | ||||
| -rw-r--r-- | libnm-core/nm-setting-team.c | 16 | ||||
| -rw-r--r-- | libnm-core/nm-setting-wireless.c | 16 | ||||
| -rw-r--r-- | libnm-core/nm-setting.c | 10 | ||||
| -rw-r--r-- | libnm-core/nm-utils.c | 22 | ||||
| -rw-r--r-- | libnm-core/tests/test-general.c | 1 | ||||
| -rw-r--r-- | libnm-core/tests/test-keyfile.c | 46 | ||||
| -rw-r--r-- | libnm-core/tests/test-setting.c | 6 |
12 files changed, 120 insertions, 98 deletions
diff --git a/libnm-core/nm-crypto.c b/libnm-core/nm-crypto.c index 7a6e8d18..dc8f1c15 100644 --- a/libnm-core/nm-crypto.c +++ b/libnm-core/nm-crypto.c @@ -188,7 +188,6 @@ parse_old_openssl_key_file (const guint8 *data, int enc_tags = 0; NMCryptoKeyType key_type; nm_auto_clear_secret_ptr NMSecretPtr parsed = { 0 }; - nm_auto_clear_secret_ptr NMSecretPtr data_content = { 0 }; nm_auto_free_secret char *iv = NULL; NMCryptoCipherType cipher = NM_CRYPTO_CIPHER_UNKNOWN; const char *start_tag; @@ -338,7 +337,6 @@ parse_pkcs8_key_file (const guint8 *data, GError **error) { gsize start = 0, end = 0; - gs_free guchar *der = NULL; const char *start_tag = NULL, *end_tag = NULL; gboolean encrypted = FALSE; nm_auto_free_secret char *der_base64 = NULL; @@ -515,7 +513,6 @@ _nmtst_decrypt_key (NMCryptoCipherType cipher, { nm_auto_clear_secret_ptr NMSecretPtr bin_iv = { 0 }; nm_auto_clear_secret_ptr NMSecretPtr key = { 0 }; - gs_free char *output = NULL; nm_assert (password); nm_assert (cipher != NM_CRYPTO_CIPHER_UNKNOWN); diff --git a/libnm-core/nm-keyfile-internal.h b/libnm-core/nm-keyfile-internal.h index d6a14711..94228d95 100644 --- a/libnm-core/nm-keyfile-internal.h +++ b/libnm-core/nm-keyfile-internal.h @@ -95,12 +95,17 @@ typedef struct { } NMKeyfileReadTypeDataWarn; NMConnection *nm_keyfile_read (GKeyFile *keyfile, - const char *keyfile_name, const char *base_dir, NMKeyfileReadHandler handler, void *user_data, GError **error); +gboolean nm_keyfile_read_ensure_id (NMConnection *connection, + const char *fallback_id); + +gboolean nm_keyfile_read_ensure_uuid (NMConnection *connection, + const char *fallback_uuid_seed); + /*****************************************************************************/ typedef enum { diff --git a/libnm-core/nm-keyfile.c b/libnm-core/nm-keyfile.c index c7d87869..e4ed1899 100644 --- a/libnm-core/nm-keyfile.c +++ b/libnm-core/nm-keyfile.c @@ -2812,20 +2812,52 @@ read_vpn_secrets (KeyfileReaderInfo *info, NMSettingVpn *s_vpn) } } +gboolean +nm_keyfile_read_ensure_id (NMConnection *connection, + const char *fallback_id) +{ + NMSettingConnection *s_con; + + g_return_val_if_fail (NM_IS_CONNECTION (connection), FALSE); + g_return_val_if_fail (fallback_id, FALSE); + + s_con = nm_connection_get_setting_connection (connection); + g_return_val_if_fail (NM_IS_SETTING_CONNECTION (s_con), FALSE); + + if (nm_setting_connection_get_id (s_con)) + return FALSE; + + g_object_set (s_con, NM_SETTING_CONNECTION_ID, fallback_id, NULL); + return TRUE; +} + +gboolean +nm_keyfile_read_ensure_uuid (NMConnection *connection, + const char *fallback_uuid_seed) +{ + NMSettingConnection *s_con; + gs_free char *hashed_uuid = NULL; + + g_return_val_if_fail (NM_IS_CONNECTION (connection), FALSE); + g_return_val_if_fail (fallback_uuid_seed, FALSE); + + s_con = nm_connection_get_setting_connection (connection); + g_return_val_if_fail (NM_IS_SETTING_CONNECTION (s_con), FALSE); + + if (nm_setting_connection_get_uuid (s_con)) + return FALSE; + + hashed_uuid = _nm_utils_uuid_generate_from_strings ("keyfile", fallback_uuid_seed, NULL); + g_object_set (s_con, NM_SETTING_CONNECTION_UUID, hashed_uuid, NULL); + return TRUE; +} + /** * nm_keyfile_read: * @keyfile: the keyfile from which to create the connection - * @keyfile_name: keyfile allows missing connection id and uuid - * and NetworkManager will create those when reading a connection - * from file. By providing a filename you can reproduce that behavior, - * but of course, it can only recreate the same UUID if you provide the - * same filename as NetworkManager core daemon would. - * @keyfile_name has only a relevance for setting the id or uuid if it - * is missing and as fallback for @base_dir. * @base_dir: when reading certificates from files with relative name, - * the relative path is made absolute using @base_dir. - * If @base_dir is missing, first try to get the pathname from @keyfile_name - * (if it is given as absolute path). As last, fallback to the current path. + * the relative path is made absolute using @base_dir. This must + * be an absolute path. * @handler: read handler * @user_data: user data for read handler * @error: error @@ -2837,7 +2869,6 @@ read_vpn_secrets (KeyfileReaderInfo *info, NMSettingVpn *s_vpn) */ NMConnection * nm_keyfile_read (GKeyFile *keyfile, - const char *keyfile_name, const char *base_dir, NMKeyfileReadHandler handler, void *user_data, @@ -2848,25 +2879,13 @@ nm_keyfile_read (GKeyFile *keyfile, NMSetting *setting; char **groups; gsize length; - int i; + gsize i; gboolean vpn_secrets = FALSE; KeyfileReaderInfo info = { 0 }; - gs_free char *base_dir_free = NULL; g_return_val_if_fail (keyfile, NULL); g_return_val_if_fail (!error || !*error, NULL); - - if (!base_dir) { - /* basedir is not given. Prefer it from the keyfile_name */ - if (keyfile_name && keyfile_name[0] == '/') { - base_dir = base_dir_free = g_path_get_dirname (keyfile_name); - } else { - /* if keyfile is not given or not an absolute path, fallback - * to current working directory. */ - base_dir = base_dir_free = g_get_current_dir (); - } - } else - g_return_val_if_fail (base_dir[0] == '/', NULL); + g_return_val_if_fail (base_dir && base_dir[0] == '/', NULL); connection = nm_simple_connection_new (); @@ -2902,24 +2921,6 @@ nm_keyfile_read (GKeyFile *keyfile, nm_connection_add_setting (connection, NM_SETTING (s_con)); } - /* Make sure that we have 'id' even if not explictly specified in the keyfile */ - if ( keyfile_name - && !nm_setting_connection_get_id (s_con)) { - gs_free char *base_name = NULL; - - base_name = g_path_get_basename (keyfile_name); - g_object_set (s_con, NM_SETTING_CONNECTION_ID, base_name, NULL); - } - - /* Make sure that we have 'uuid' even if not explictly specified in the keyfile */ - if ( keyfile_name - && !nm_setting_connection_get_uuid (s_con)) { - gs_free char *hashed_uuid = NULL; - - hashed_uuid = _nm_utils_uuid_generate_from_strings ("keyfile", keyfile_name, NULL); - g_object_set (s_con, NM_SETTING_CONNECTION_UUID, hashed_uuid, NULL); - } - /* Make sure that we have 'interface-name' even if it was specified in the * "wrong" (ie, deprecated) group. */ diff --git a/libnm-core/nm-setting-ip-config.c b/libnm-core/nm-setting-ip-config.c index fa2535b8..2b3134b6 100644 --- a/libnm-core/nm-setting-ip-config.c +++ b/libnm-core/nm-setting-ip-config.c @@ -1310,7 +1310,7 @@ nm_ip_route_attribute_validate (const char *name, return FALSE; } - if (spec->type == G_VARIANT_TYPE_STRING) { + if (g_variant_type_equal (spec->type, G_VARIANT_TYPE_STRING)) { const char *string = g_variant_get_string (value, NULL); gs_free char *string_free = NULL; char *sep; diff --git a/libnm-core/nm-setting-sriov.c b/libnm-core/nm-setting-sriov.c index 45b3a1d2..7228fb0c 100644 --- a/libnm-core/nm-setting-sriov.c +++ b/libnm-core/nm-setting-sriov.c @@ -433,7 +433,7 @@ nm_sriov_vf_attribute_validate (const char *name, return FALSE; } - if (spec->type == G_VARIANT_TYPE_STRING) { + if (g_variant_type_equal (spec->type, G_VARIANT_TYPE_STRING)) { const char *string; switch (spec->str_type) { diff --git a/libnm-core/nm-setting-team.c b/libnm-core/nm-setting-team.c index e6737e48..3d151462 100644 --- a/libnm-core/nm-setting-team.c +++ b/libnm-core/nm-setting-team.c @@ -125,9 +125,9 @@ nm_team_link_watcher_new_ethtool (int delay_up, NMTeamLinkWatcher *watcher; const char *val_fail = NULL; - if (delay_up < 0 || delay_up > G_MAXINT32) + if (delay_up < 0 || !_NM_INT_LE_MAXINT32 (delay_up)) val_fail = "delay-up"; - if (delay_down < 0 || delay_down > G_MAXINT32) + if (delay_down < 0 || !_NM_INT_LE_MAXINT32 (delay_down)) val_fail = "delay-down"; if (val_fail) { g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_FAILED, @@ -182,11 +182,11 @@ nm_team_link_watcher_new_nsna_ping (int init_wait, return NULL; } - if (init_wait < 0 || init_wait > G_MAXINT32) + if (init_wait < 0 || !_NM_INT_LE_MAXINT32 (init_wait)) val_fail = "init-wait"; - if (interval < 0 || interval > G_MAXINT32) + if (interval < 0 || !_NM_INT_LE_MAXINT32 (interval)) val_fail = "interval"; - if (missed_max < 0 || missed_max > G_MAXINT32) + if (missed_max < 0 || !_NM_INT_LE_MAXINT32 (missed_max)) val_fail = "missed-max"; if (val_fail) { g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_FAILED, @@ -255,11 +255,11 @@ nm_team_link_watcher_new_arp_ping (int init_wait, return NULL; } - if (init_wait < 0 || init_wait > G_MAXINT32) + if (init_wait < 0 || !_NM_INT_LE_MAXINT32 (init_wait)) val_fail = "init-wait"; - if (interval < 0 || interval > G_MAXINT32) + if (interval < 0 || !_NM_INT_LE_MAXINT32 (interval)) val_fail = "interval"; - if (missed_max < 0 || missed_max > G_MAXINT32) + if (missed_max < 0 || !_NM_INT_LE_MAXINT32 (missed_max)) val_fail = "missed-max"; if (val_fail) { g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_FAILED, diff --git a/libnm-core/nm-setting-wireless.c b/libnm-core/nm-setting-wireless.c index a9cae6c0..6f6175b7 100644 --- a/libnm-core/nm-setting-wireless.c +++ b/libnm-core/nm-setting-wireless.c @@ -1595,14 +1595,20 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *klass) /** * NMSettingWireless:hidden: * - * If %TRUE, indicates this network is a non-broadcasting network that hides - * its SSID. In this case various workarounds may take place, such as - * probe-scanning the SSID for more reliable network discovery. However, + * If %TRUE, indicates that the network is a non-broadcasting network that + * hides its SSID. This works both in infrastructure and AP mode. + * + * In infrastructure mode, various workarounds are used for a more reliable + * discovery of hidden networks, such as probe-scanning the SSID. However, * these workarounds expose inherent insecurities with hidden SSID networks, * and thus hidden SSID networks should be used with caution. * - * Note that marking the network as hidden may be a privacy issue for you, as - * the explicit probe-scans may be distinctly recognizable on the air. + * In AP mode, the created network does not broadcast its SSID. + * + * Note that marking the network as hidden may be a privacy issue for you + * (in infrastructure mode) or client stations (in AP mode), as the explicit + * probe-scans are distinctly recognizable on the air. + * **/ /* ---ifcfg-rh--- * property: hidden diff --git a/libnm-core/nm-setting.c b/libnm-core/nm-setting.c index 0cec5165..6b9681b5 100644 --- a/libnm-core/nm-setting.c +++ b/libnm-core/nm-setting.c @@ -1422,7 +1422,7 @@ nm_setting_diff (NMSetting *a, } else { g_hash_table_iter_init (&iter, a_gendata->hash); while (g_hash_table_iter_next (&iter, (gpointer *) &key, (gpointer *) &val)) { - val2 = b_gendata ? g_hash_table_lookup (b_gendata->hash, key) : NULL; + val2 = g_hash_table_lookup (b_gendata->hash, key); compared_any = TRUE; if ( !val2 || !g_variant_equal (val, val2)) { @@ -1432,7 +1432,7 @@ nm_setting_diff (NMSetting *a, } g_hash_table_iter_init (&iter, b_gendata->hash); while (g_hash_table_iter_next (&iter, (gpointer *) &key, (gpointer *) &val)) { - val2 = a_gendata ? g_hash_table_lookup (a_gendata->hash, key) : NULL; + val2 = g_hash_table_lookup (a_gendata->hash, key); compared_any = TRUE; if ( !val2 || !g_variant_equal (val, val2)) { @@ -2037,8 +2037,12 @@ _nm_setting_get_deprecated_virtual_interface_name (NMSetting *setting, { NMSettingConnection *s_con; + if (!connection) + return NULL; + s_con = nm_connection_get_setting_connection (connection); - g_return_val_if_fail (s_con != NULL, NULL); + if (!s_con) + return NULL; if (nm_setting_connection_get_interface_name (s_con)) return g_variant_new_string (nm_setting_connection_get_interface_name (s_con)); diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c index f6e1555e..0f524e11 100644 --- a/libnm-core/nm-utils.c +++ b/libnm-core/nm-utils.c @@ -4941,18 +4941,18 @@ const char **nm_utils_enum_get_values (GType type, int from, int to) static gboolean _nm_utils_is_json_object_no_validation (const char *str, GError **error) { - if (str) { - /* libjansson also requires only utf-8 encoding. */ - if (!g_utf8_validate (str, -1, NULL)) { - g_set_error_literal (error, - NM_CONNECTION_ERROR, - NM_CONNECTION_ERROR_INVALID_PROPERTY, - _("not valid utf-8")); - return FALSE; - } - while (g_ascii_isspace (str[0])) - str++; + nm_assert (str); + + /* libjansson also requires only utf-8 encoding. */ + if (!g_utf8_validate (str, -1, NULL)) { + g_set_error_literal (error, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_INVALID_PROPERTY, + _("not valid utf-8")); + return FALSE; } + while (g_ascii_isspace (str[0])) + str++; /* do some very basic validation to see if this might be a JSON object. */ if (str[0] == '{') { diff --git a/libnm-core/tests/test-general.c b/libnm-core/tests/test-general.c index 38531248..5a954270 100644 --- a/libnm-core/tests/test-general.c +++ b/libnm-core/tests/test-general.c @@ -6609,7 +6609,6 @@ _do_test_utils_str_utf8safe (const char *str, gsize str_len, const char *expecte const char *str_safe; const char *buf_safe; const char *s; - gs_free gpointer buf_free_1 = NULL; gs_free char *str_free_1 = NULL; gs_free char *str_free_2 = NULL; gs_free char *str_free_3 = NULL; diff --git a/libnm-core/tests/test-keyfile.c b/libnm-core/tests/test-keyfile.c index d941fa22..78e01ce9 100644 --- a/libnm-core/tests/test-keyfile.c +++ b/libnm-core/tests/test-keyfile.c @@ -167,19 +167,28 @@ _nm_keyfile_write (NMConnection *connection, static NMConnection * _nm_keyfile_read (GKeyFile *keyfile, const char *keyfile_name, - const char *base_dir, NMKeyfileReadHandler read_handler, void *read_data, gboolean needs_normalization) { GError *error = NULL; NMConnection *con; + gs_free char *filename = NULL; + gs_free char *base_dir = NULL; g_assert (keyfile); + g_assert (!keyfile_name || (keyfile_name[0] == '/')); - con = nm_keyfile_read (keyfile, keyfile_name, base_dir, read_handler, read_data, &error); + base_dir = g_path_get_dirname (keyfile_name); + filename = g_path_get_basename (keyfile_name); + + con = nm_keyfile_read (keyfile, base_dir, read_handler, read_data, &error); g_assert_no_error (error); g_assert (NM_IS_CONNECTION (con)); + + nm_keyfile_read_ensure_id (con, filename); + nm_keyfile_read_ensure_uuid (con, keyfile_name); + if (needs_normalization) { nmtst_assert_connection_verifies_after_normalization (con, 0, 0); nmtst_connection_normalize (con); @@ -205,7 +214,6 @@ static void _keyfile_convert (NMConnection **con, GKeyFile **keyfile, const char *keyfile_name, - const char *base_dir, NMKeyfileReadHandler read_handler, void *read_data, NMKeyfileWriteHandler write_handler, @@ -229,7 +237,7 @@ _keyfile_convert (NMConnection **con, if (c0) { c0_k1 = _nm_keyfile_write (c0, write_handler, write_data); - c0_k1_c2 = _nm_keyfile_read (c0_k1, keyfile_name, base_dir, read_handler, read_data, FALSE); + c0_k1_c2 = _nm_keyfile_read (c0_k1, keyfile_name, read_handler, read_data, FALSE); c0_k1_c2_k3 = _nm_keyfile_write (c0_k1_c2, write_handler, write_data); g_assert (_nm_keyfile_equals (c0_k1, c0_k1_c2_k3, TRUE)); @@ -237,9 +245,9 @@ _keyfile_convert (NMConnection **con, if (k0) { NMSetting8021x *s1, *s2; - k0_c1 = _nm_keyfile_read (k0, keyfile_name, base_dir, read_handler, read_data, needs_normalization); + k0_c1 = _nm_keyfile_read (k0, keyfile_name, read_handler, read_data, needs_normalization); k0_c1_k2 = _nm_keyfile_write (k0_c1, write_handler, write_data); - k0_c1_k2_c3 = _nm_keyfile_read (k0_c1_k2, keyfile_name, base_dir, read_handler, read_data, FALSE); + k0_c1_k2_c3 = _nm_keyfile_read (k0_c1_k2, keyfile_name, read_handler, read_data, FALSE); /* It is a expeced behavior, that if @k0 contains a relative path ca-cert, @k0_c1 will * contain that path as relative. But @k0_c1_k2 and @k0_c1_k2_c3 will have absolute paths. @@ -312,7 +320,7 @@ _test_8021x_cert_check (NMConnection *con, NMSetting8021x *s_8021x; gs_free char *kval = NULL; - _keyfile_convert (&con, &keyfile, NULL, NULL, NULL, NULL, NULL, NULL, FALSE); + _keyfile_convert (&con, &keyfile, "/_test_8021x_cert_check/foo", NULL, NULL, NULL, NULL, FALSE); s_8021x = nm_connection_get_setting_802_1x (con); @@ -449,14 +457,14 @@ test_8021x_cert_read (void) con = nmtst_create_connection_from_keyfile ( "[connection]\n" "type=ethernet", - "/test_8021x_cert_read/test0", NULL); + "/test_8021x_cert_read/test0"); CLEAR (&con, &keyfile); keyfile = _keyfile_load_from_data ( "[connection]\n" "type=ethernet" ); - _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test1", NULL, NULL, NULL, NULL, NULL, TRUE); + _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test1", NULL, NULL, NULL, NULL, TRUE); CLEAR (&con, &keyfile); keyfile = _keyfile_load_from_data ( @@ -471,7 +479,7 @@ test_8021x_cert_read (void) "private-key=102;105;108;101;58;47;47;47;104;111;109;101;47;100;99;98;119;47;68;101;115;107;116;111;112;47;99;101;114;116;105;110;102;114;97;47;99;108;105;101;110;116;46;112;101;109;0;\n" "private-key-password=12345testing\n" ); - _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test2", NULL, NULL, NULL, NULL, NULL, TRUE); + _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test2", NULL, NULL, NULL, NULL, TRUE); CLEAR (&con, &keyfile); keyfile = _keyfile_load_from_data ( @@ -500,7 +508,7 @@ test_8021x_cert_read (void) "/33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333111111\n" "private-key-password=12345testing\n" ); - _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test2", NULL, NULL, NULL, NULL, NULL, TRUE); + _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test2", NULL, NULL, NULL, NULL, TRUE); s_8021x = nm_connection_get_setting_802_1x (con); g_assert (nm_setting_802_1x_get_ca_cert_scheme (s_8021x) == NM_SETTING_802_1X_CK_SCHEME_PATH); @@ -528,7 +536,7 @@ test_8021x_cert_read (void) "private-key=data:;base64,aGFsbG8=\n" // hallo "private-key-password=12345testing\n" ); - _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test2", NULL, NULL, NULL, NULL, NULL, TRUE); + _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test2", NULL, NULL, NULL, NULL, TRUE); s_8021x = nm_connection_get_setting_802_1x (con); g_assert (nm_setting_802_1x_get_ca_cert_scheme (s_8021x) == NM_SETTING_802_1X_CK_SCHEME_PATH); @@ -553,7 +561,7 @@ test_8021x_cert_read (void) "private-key=abc.deR\n" "private-key-password=12345testing\n" ); - _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test2", NULL, NULL, NULL, NULL, NULL, TRUE); + _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test2", NULL, NULL, NULL, NULL, TRUE); s_8021x = nm_connection_get_setting_802_1x (con); g_assert (nm_setting_802_1x_get_ca_cert_scheme (s_8021x) == NM_SETTING_802_1X_CK_SCHEME_PATH); @@ -578,7 +586,7 @@ test_8021x_cert_read (void) "private-key=hallo\n" "private-key-password=12345testing\n" ); - _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test2", NULL, NULL, NULL, NULL, NULL, TRUE); + _keyfile_convert (&con, &keyfile, "/test_8021x_cert_read/test2", NULL, NULL, NULL, NULL, TRUE); s_8021x = nm_connection_get_setting_802_1x (con); g_assert (nm_setting_802_1x_get_ca_cert_scheme (s_8021x) == NM_SETTING_802_1X_CK_SCHEME_BLOB); @@ -605,7 +613,7 @@ test_team_conf_read_valid (void) "interface-name=nm-team1\n" "[team]\n" "config={\"foo\":\"bar\"}", - "/test_team_conf_read/valid", NULL); + "/test_team_conf_read/valid"); g_assert (con); s_team = nm_connection_get_setting_team (con); @@ -629,7 +637,7 @@ test_team_conf_read_invalid (void) "interface-name=nm-team1\n" "[team]\n" "config={foobar}", - "/test_team_conf_read/invalid", NULL); + "/test_team_conf_read/invalid"); g_assert (con); s_team = nm_connection_get_setting_team (con); @@ -657,7 +665,7 @@ test_user_1 (void) "[user]\n" "my-value.x=value1\n" "", - "/test_user_1/invalid", NULL); + "/test_user_1/invalid"); g_assert (con); s_user = NM_SETTING_USER (nm_connection_get_setting (con, NM_TYPE_SETTING_USER)); g_assert (s_user); @@ -704,7 +712,7 @@ test_user_1 (void) nm_connection_add_setting (con, NM_SETTING (s_user)); nmtst_connection_normalize (con); - _keyfile_convert (&con, &keyfile, NULL, NULL, NULL, NULL, NULL, NULL, FALSE); + _keyfile_convert (&con, &keyfile, "/test_user_1/foo", NULL, NULL, NULL, NULL, FALSE); } /*****************************************************************************/ @@ -725,7 +733,7 @@ test_vpn_1 (void) "service-type=a.b.c\n" "vpn-key-1=value1\n" "", - "/test_vpn_1/invalid", NULL); + "/test_vpn_1/invalid"); g_assert (con); s_vpn = NM_SETTING_VPN (nm_connection_get_setting (con, NM_TYPE_SETTING_VPN)); g_assert (s_vpn); diff --git a/libnm-core/tests/test-setting.c b/libnm-core/tests/test-setting.c index c8eda381..4e010feb 100644 --- a/libnm-core/tests/test-setting.c +++ b/libnm-core/tests/test-setting.c @@ -1319,13 +1319,15 @@ test_ethtool_1 (void) nmtst_assert_success (keyfile, error); con3 = nm_keyfile_read (keyfile, - "ethtool-keyfile-name", - NULL, + "/ignored/current/working/directory/for/loading/relative/paths", NULL, NULL, &error); nmtst_assert_success (con3, error); + nm_keyfile_read_ensure_id (con3, "unused-because-already-has-id"); + nm_keyfile_read_ensure_uuid (con3, "unused-because-already-has-uuid"); + nmtst_connection_normalize (con3); nmtst_assert_connection_equals (con, FALSE, con3, FALSE); |