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:05 +0200
committerMichael Biebl <biebl@debian.org>2016-04-12 17:33:05 +0200
commit288a08a3672a89a9bfdb8354b6863cc039759fc2 (patch)
tree351ac159de25507ba7eeab003153dabb1c6652a2 /src/dns-manager
parent2bfb3eb7d0323e69affca154395f51d8b577414d (diff)
Imported Upstream version 1.1.94 upstream/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;
 }