summaryrefslogtreecommitdiffstats
path: root/etc/inc/services.inc
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2013-08-16 10:40:48 +0000
committerErmal <eri@pfsense.org>2013-08-16 10:40:48 +0000
commitb77d19c768f9e950f7a8005db1ff5d4416a28cc2 (patch)
tree4324340fd4c3dfc16737aae1d029a15b7ec6e6e9 /etc/inc/services.inc
parent55909a9adf442534361c350387b7cd06b3641ae2 (diff)
downloadpfsense-b77d19c768f9e950f7a8005db1ff5d4416a28cc2.zip
pfsense-b77d19c768f9e950f7a8005db1ff5d4416a28cc2.tar.gz
Add the check even here when dealing with ipv6 addreses
Diffstat (limited to 'etc/inc/services.inc')
-rw-r--r--etc/inc/services.inc13
1 files changed, 11 insertions, 2 deletions
diff --git a/etc/inc/services.inc b/etc/inc/services.inc
index 7f598e4..14d1233 100644
--- a/etc/inc/services.inc
+++ b/etc/inc/services.inc
@@ -1667,8 +1667,17 @@ function services_dnsmasq_configure() {
if (is_ipaddrv4($laddr))
$listen_addresses .= " --listen-address={$laddr} ";
$laddr6 = find_interface_ipv6($if);
- if (is_ipaddrv6($laddr6) && !isset($config['dnsmasq']['strictbind']))
- $listen_addresses .= " --listen-address={$laddr6} ";
+ if (is_ipaddrv6($laddr6) && !isset($config['dnsmasq']['strictbind'])) {
+ /*
+ * XXX: Since dnsmasq does not support link-local address
+ * with scope specified. These checks are being done.
+ */
+ if (is_linklocal($laddr6) && strstr($laddr6, "%")) {
+ $tmpaddrll6 = explode("%", $laddr6);
+ $listen_addresses .= " --listen-address={$tmpaddrll6[0]} ";
+ } else
+ $listen_addresses .= " --listen-address={$laddr6} ";
+ }
}
}
}
OpenPOWER on IntegriCloud