diff --git a/src/etc/inc/plugins.inc.d/dnsmasq.inc b/src/etc/inc/plugins.inc.d/dnsmasq.inc index 54a195dfe..82e490dde 100644 --- a/src/etc/inc/plugins.inc.d/dnsmasq.inc +++ b/src/etc/inc/plugins.inc.d/dnsmasq.inc @@ -265,8 +265,20 @@ function _dnsmasq_add_host_entries() } $domain = $config['system']['domain']; - if ($host['domain']) { + // set domain to first entry of host's domain search list + if ($host['domainsearchlist']) { + $domain_array=preg_split("/[ ;]+/",$host['domainsearchlist']); + $domain = $domain_array[0]; + // backward compatibilty: 'domain' was replaced by 'domainsearchlist' + // in dhcpv6 static mappings, but may still exist in older configs + } elseif ($host['domain']) { $domain = $host['domain']; + // set domain to first entry of interface's domain search list + } elseif ($dhcpifconf['domainsearchlist']) { + $domain_array=preg_split("/[ ;]+/",$dhcpifconf['domainsearchlist']); + $domain = $domain_array[0]; + // backward compatibilty: 'domain' was removed from dhcpv6 + // interface settings, but may still exist in older configs } elseif ($dhcpifconf['domain']) { $domain = $dhcpifconf['domain']; } diff --git a/src/etc/inc/plugins.inc.d/unbound.inc b/src/etc/inc/plugins.inc.d/unbound.inc index d97c5767a..88ba55c3d 100644 --- a/src/etc/inc/plugins.inc.d/unbound.inc +++ b/src/etc/inc/plugins.inc.d/unbound.inc @@ -680,8 +680,20 @@ function unbound_add_host_entries() } $domain = $config['system']['domain']; - if ($host['domain']) { + // set domain to first entry of host's domain search list + if ($host['domainsearchlist']) { + $domain_array=preg_split("/[ ;]+/",$host['domainsearchlist']); + $domain = $domain_array[0]; + // backward compatibilty: 'domain' was replaced by 'domainsearchlist' + // in dhcpv6 static mappings, but may still exist in older configs + } elseif ($host['domain']) { $domain = $host['domain']; + // set domain to first entry of interface's domain search list + } elseif ($dhcpifconf['domainsearchlist']) { + $domain_array=preg_split("/[ ;]+/",$dhcpifconf['domainsearchlist']); + $domain = $domain_array[0]; + // backward compatibilty: 'domain' was removed from dhcpv6 + // interface settings, but may still exist in older configs } elseif ($dhcpifconf['domain']) { $domain = $dhcpifconf['domain']; } diff --git a/src/www/services_dhcpv6.php b/src/www/services_dhcpv6.php index 9325baf4a..da5c248b1 100644 --- a/src/www/services_dhcpv6.php +++ b/src/www/services_dhcpv6.php @@ -63,7 +63,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { $pconfig['prefixrange_to'] = $config['dhcpdv6'][$if]['prefixrange']['to']; $pconfig['prefixrange_length'] = $config['dhcpdv6'][$if]['prefixrange']['prefixlength']; } - $config_copy_fieldsnames = array('defaultleasetime', 'maxleasetime', 'domainsearchlist', 'ddnsdomain', + $config_copy_fieldsnames = array('defaultleasetime', 'maxleasetime', 'domain', 'domainsearchlist', 'ddnsdomain', 'ddnsdomainprimary', 'ddnsdomainkeyname', 'ddnsdomainkey', 'ddnsdomainalgorithm', 'bootfile_url', 'netmask', 'numberoptions', 'dhcpv6leaseinlocaltime', 'staticmap'); foreach ($config_copy_fieldsnames as $fieldname) { @@ -86,6 +86,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { $pconfig['ntp1'] = !empty($config['dhcpdv6'][$if]['ntpserver'][0]) ? $config['dhcpdv6'][$if]['ntpserver'][0] : ""; $pconfig['ntp2'] = !empty($config['dhcpdv6'][$if]['ntpserver'][1]) ? $config['dhcpdv6'][$if]['ntpserver'][1] : ""; + // backward compatibility: migrate 'domain' to 'domainsearchlist' + if (empty($pconfig['domainsearchlist'])) { + $pconfig['domainsearchlist'] = $pconfig['domain']; + } + } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') { // handle identifiers and actions if (!empty($_POST['if']) && !empty($config['interfaces'][$_POST['if']])) { @@ -558,7 +563,7 @@ if (isset($config['interfaces'][$if]['dhcpd6track6allowoverride'])) { diff --git a/src/www/services_dhcpv6_edit.php b/src/www/services_dhcpv6_edit.php index 362fc62fa..d1dcf98aa 100644 --- a/src/www/services_dhcpv6_edit.php +++ b/src/www/services_dhcpv6_edit.php @@ -45,7 +45,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { // read form data $pconfig = array(); - $config_copy_fieldnames = array('duid', 'hostname', 'ipaddrv6', 'filename' ,'rootpath' ,'descr', 'domainsearchlist'); + $config_copy_fieldnames = array('duid', 'hostname', 'ipaddrv6', 'filename' ,'rootpath' ,'descr', 'domain', 'domainsearchlist'); foreach ($config_copy_fieldnames as $fieldname) { if (isset($if) && isset($id) && isset($config['dhcpdv6'][$if]['staticmap'][$id][$fieldname])) { $pconfig[$fieldname] = $config['dhcpdv6'][$if]['staticmap'][$id][$fieldname]; @@ -55,6 +55,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { $pconfig[$fieldname] = null; } } + + // backward compatibility: migrate 'domain' to 'domainsearchlist' + if (empty($pconfig['domainsearchlist'])) { + $pconfig['domainsearchlist'] = $pconfig['domain']; + } + } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') { $input_errors = array(); $pconfig = $_POST; @@ -210,7 +216,9 @@ include("head.inc"); diff --git a/src/www/services_dnsmasq.php b/src/www/services_dnsmasq.php index aa69129f9..be90a9d40 100644 --- a/src/www/services_dnsmasq.php +++ b/src/www/services_dnsmasq.php @@ -293,13 +293,13 @@ $( document ).ready(function() { - + /> - + @@ -322,10 +322,10 @@ $( document ).ready(function() { /> diff --git a/src/www/services_unbound.php b/src/www/services_unbound.php index 24d770691..c381ddfe3 100644 --- a/src/www/services_unbound.php +++ b/src/www/services_unbound.php @@ -229,13 +229,13 @@ include_once("head.inc"); - + /> - + @@ -258,10 +258,10 @@ include_once("head.inc"); />