about summary refs log tree commit diff
path: root/src/dns-manager
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2016-04-12 17:33:55 +0200
committerMichael Biebl <biebl@debian.org>2016-04-12 17:33:55 +0200
commitbec7235248782867b4975154c831f3b42d788f3c (patch)
tree098947efbe13b7fa5f9eacb03ee7b16722f16ed0 /src/dns-manager
parentb4fb429b8967ef5028040b718678d92479142dfa (diff)
parent288a08a3672a89a9bfdb8354b6863cc039759fc2 (diff)
Merge tag 'upstream/1.1.94'
Upstream version 1.1.94
Diffstat (limited to 'src/dns-manager')
-rw-r--r--src/dns-manager/nm-dns-dnsmasq.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/dns-manager/nm-dns-dnsmasq.c b/src/dns-manager/nm-dns-dnsmasq.c
index 460feaac..5ead5ecf 100644
--- a/src/dns-manager/nm-dns-dnsmasq.c
+++ b/src/dns-manager/nm-dns-dnsmasq.c
@@ -131,18 +131,18 @@ ip6_addr_to_string (const struct in6_addr *addr, const char *iface)
 	char *buf;
 
 	if (IN6_IS_ADDR_V4MAPPED (addr)) {
-		/* inet_ntop is probably supposed to do this for us, but it doesn't */
 		buf = g_malloc (INET_ADDRSTRLEN);
 		nm_utils_inet4_ntop (addr->s6_addr32[3], buf);
 	} else if (!iface || !iface[0] || !IN6_IS_ADDR_LINKLOCAL (addr)) {
 		buf = g_malloc (INET6_ADDRSTRLEN);
 		nm_utils_inet6_ntop (addr, buf);
 	} else {
-		/* If we got a scope identifier, we need use '%' instead of
-		 * '@', since dnsmasq supports '%' in server= addresses
-		 * only since version 2.58 and up
+		/* Need to scope the address with %<zone-id>. Before dnsmasq 2.58,
+		 * only '@' was supported as delimiter. Since 2.58, '@' and '%'
+		 * are supported. Due to a bug, since 2.73 only '%' works properly
+		 * as "server" address.
 		 */
-		buf = g_strconcat (nm_utils_inet6_ntop (addr, NULL), "@", iface, NULL);
+		buf = g_strconcat (nm_utils_inet6_ntop (addr, NULL), "%", iface, NULL);
 	}
 	return buf;
 }