diff options
author | Ermal <eri@pfsense.org> | 2013-08-16 10:40:48 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2013-08-16 10:40:48 +0000 |
commit | b77d19c768f9e950f7a8005db1ff5d4416a28cc2 (patch) | |
tree | 4324340fd4c3dfc16737aae1d029a15b7ec6e6e9 /etc/inc/services.inc | |
parent | 55909a9adf442534361c350387b7cd06b3641ae2 (diff) | |
download | pfsense-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.inc | 13 |
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} "; + } } } } |