diff options
author | jim-p <jimp@pfsense.org> | 2017-01-05 19:17:17 -0500 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2017-01-05 19:17:17 -0500 |
commit | 1794ecbb8b37fc97bd1d2fe6ab7ecc19d87a9a68 (patch) | |
tree | 400b636d55890aedcfcff6e73950d1b9dab93b95 /src/etc/inc/services.inc | |
parent | 80e7011fddd29a387c4c84b68c8c49dce4494729 (diff) | |
download | pfsense-1794ecbb8b37fc97bd1d2fe6ab7ecc19d87a9a68.zip pfsense-1794ecbb8b37fc97bd1d2fe6ab7ecc19d87a9a68.tar.gz |
Handle the RA Search Domain List when writing out the RADVD config. Fixes #7081
Diffstat (limited to 'src/etc/inc/services.inc')
-rw-r--r-- | src/etc/inc/services.inc | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/etc/inc/services.inc b/src/etc/inc/services.inc index 23edf62..7b02bbd 100644 --- a/src/etc/inc/services.inc +++ b/src/etc/inc/services.inc @@ -263,10 +263,22 @@ function services_radvd_configure($blacklist = array()) { $radvdconf .= "\tRDNSS {$dnsstring} { };\n"; } } + + $searchlist = array(); + $domainsearchlist = explode(';', $dhcpv6ifconf['radomainsearchlist']); + foreach ($domainsearchlist as $sd) { + $sd = trim($sd); + if (is_hostname($sd)) { + $searchlist[] = $sd; + } + } + if (count($searchlist) > 0) { + $searchliststring = trim(implode(" ", $searchlist)); + } if (!empty($dhcpv6ifconf['domain'])) { - $radvdconf .= "\tDNSSL {$dhcpv6ifconf['domain']} { };\n"; + $radvdconf .= "\tDNSSL {$dhcpv6ifconf['domain']} {$searchliststring} { };\n"; } elseif (!empty($config['system']['domain'])) { - $radvdconf .= "\tDNSSL {$config['system']['domain']} { };\n"; + $radvdconf .= "\tDNSSL {$config['system']['domain']} {$searchliststring} { };\n"; } $radvdconf .= "};\n"; } |