summary refs log tree commit diff
path: root/src/dns
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2017-09-20 21:04:15 +0200
committerMichael Biebl <biebl@debian.org>2017-09-20 21:04:15 +0200
commitbdb6eeb0670658255c2a4c3c501c0a27fa8cfe55 (patch)
tree7f6a4560c8cd3e1730df2af4ed6c3e4c5c0265f6 /src/dns
parentb9f0451fa35393ceedf6d9d20b78c43578ebea5d (diff)
New upstream version 1.8.4 upstream/1.8.4
Diffstat (limited to 'src/dns')
-rw-r--r--src/dns/nm-dns-manager.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/dns/nm-dns-manager.c b/src/dns/nm-dns-manager.c
index f443f340..952468e3 100644
--- a/src/dns/nm-dns-manager.c
+++ b/src/dns/nm-dns-manager.c
@@ -158,12 +158,12 @@ G_DEFINE_TYPE (NMDnsManager, nm_dns_manager, NM_TYPE_EXPORTED_OBJECT)
 #define NM_DNS_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE(self, NMDnsManager, NM_IS_DNS_MANAGER)
 
 static gboolean
-domain_is_valid (const gchar *domain)
+domain_is_valid (const gchar *domain, gboolean check_public_suffix)
 {
 	if (*domain == '\0')
 		return FALSE;
 #if WITH_LIBPSL
-	if (psl_is_public_suffix (psl_builtin (), domain))
+	if (check_public_suffix && psl_is_public_suffix (psl_builtin (), domain))
 		return FALSE;
 #endif
 	return TRUE;
@@ -312,7 +312,7 @@ merge_one_ip4_config (NMResolvConfData *rc, NMIP4Config *src)
 		const char *search;
 
 		search = nm_ip4_config_get_search (src, i);
-		if (!domain_is_valid (search))
+		if (!domain_is_valid (search, FALSE))
 			continue;
 		add_string_item (rc->searches, search);
 	}
@@ -322,7 +322,7 @@ merge_one_ip4_config (NMResolvConfData *rc, NMIP4Config *src)
 			const char *domain;
 
 			domain = nm_ip4_config_get_domain (src, i);
-			if (!domain_is_valid (domain))
+			if (!domain_is_valid (domain, FALSE))
 				continue;
 			add_string_item (rc->searches, domain);
 		}
@@ -382,7 +382,7 @@ merge_one_ip6_config (NMResolvConfData *rc, NMIP6Config *src, const char *iface)
 		const char *search;
 
 		search = nm_ip6_config_get_search (src, i);
-		if (!domain_is_valid (search))
+		if (!domain_is_valid (search, FALSE))
 			continue;
 		add_string_item (rc->searches, search);
 	}
@@ -392,7 +392,7 @@ merge_one_ip6_config (NMResolvConfData *rc, NMIP6Config *src, const char *iface)
 			const char *domain;
 
 			domain = nm_ip6_config_get_domain (src, i);
-			if (!domain_is_valid (domain))
+			if (!domain_is_valid (domain, FALSE))
 				continue;
 			add_string_item (rc->searches, domain);
 		}
@@ -923,7 +923,7 @@ merge_global_dns_config (NMResolvConfData *rc, NMGlobalDnsConfig *global_conf)
 	options = nm_global_dns_config_get_options (global_conf);
 
 	for (i = 0; searches && searches[i]; i++) {
-		if (domain_is_valid (searches[i]))
+		if (domain_is_valid (searches[i], FALSE))
 			add_string_item (rc->searches, searches[i]);
 	}
 
@@ -1055,9 +1055,9 @@ _collect_resolv_conf_data (NMDnsManager *self, /* only for logging context, no o
 		if (   hostdomain
 		    && !nm_utils_ipaddr_valid (AF_UNSPEC, hostname)) {
 			hostdomain++;
-			if (domain_is_valid (hostdomain))
+			if (domain_is_valid (hostdomain, TRUE))
 				add_string_item (rc.searches, hostdomain);
-			else if (domain_is_valid (hostname))
+			else if (domain_is_valid (hostname, TRUE))
 				add_string_item (rc.searches, hostname);
 		}
 	}