diff options
Diffstat (limited to 'src/core/nm-config-data.c')
| -rw-r--r-- | src/core/nm-config-data.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/core/nm-config-data.c b/src/core/nm-config-data.c index 753e3fb5..c6ab998f 100644 --- a/src/core/nm-config-data.c +++ b/src/core/nm-config-data.c @@ -1125,10 +1125,13 @@ load_global_dns(GKeyFile *keyfile, gboolean internal) gboolean default_found = FALSE; char **strv; - group = - internal ? NM_CONFIG_KEYFILE_GROUP_INTERN_GLOBAL_DNS : NM_CONFIG_KEYFILE_GROUP_GLOBAL_DNS; - domain_prefix = internal ? NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN_GLOBAL_DNS_DOMAIN - : NM_CONFIG_KEYFILE_GROUPPREFIX_GLOBAL_DNS_DOMAIN; + if (internal) { + group = NM_CONFIG_KEYFILE_GROUP_INTERN_GLOBAL_DNS; + domain_prefix = NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN_GLOBAL_DNS_DOMAIN; + } else { + group = NM_CONFIG_KEYFILE_GROUP_GLOBAL_DNS; + domain_prefix = NM_CONFIG_KEYFILE_GROUPPREFIX_GLOBAL_DNS_DOMAIN; + } domain_prefix_len = strlen(domain_prefix); if (!nm_config_keyfile_has_global_dns_config(keyfile, internal)) @@ -1191,8 +1194,7 @@ load_global_dns(GKeyFile *keyfile, gboolean internal) if (strv) { nm_strv_cleanup(strv, TRUE, TRUE, TRUE); for (i = 0, j = 0; strv[i]; i++) { - if (nm_utils_ipaddr_is_valid(AF_INET, strv[i]) - || nm_utils_ipaddr_is_valid(AF_INET6, strv[i])) + if (nm_inet_is_valid(AF_INET, strv[i]) || nm_inet_is_valid(AF_INET6, strv[i])) strv[j++] = strv[i]; else g_free(strv[i]); @@ -1231,7 +1233,7 @@ load_global_dns(GKeyFile *keyfile, gboolean internal) default_found = TRUE; } - if (!default_found) { + if (!default_found && g_hash_table_size(dns_config->domains)) { nm_log_dbg(LOGD_CORE, "%s global DNS configuration is missing default domain, ignore it", internal ? "internal" : "user"); @@ -1328,8 +1330,7 @@ global_dns_domain_from_dbus(char *name, GVariant *variant) strv = g_variant_dup_strv(val, NULL); nm_strv_cleanup(strv, TRUE, TRUE, TRUE); for (i = 0, j = 0; strv && strv[i]; i++) { - if (nm_utils_ipaddr_is_valid(AF_INET, strv[i]) - || nm_utils_ipaddr_is_valid(AF_INET6, strv[i])) + if (nm_inet_is_valid(AF_INET, strv[i]) || nm_inet_is_valid(AF_INET6, strv[i])) strv[j++] = strv[i]; else g_free(strv[i]); |