diff --git a/src/etc/inc/plugins.inc.d/dhcpd.inc b/src/etc/inc/plugins.inc.d/dhcpd.inc index 924c1e92c..c772212a7 100644 --- a/src/etc/inc/plugins.inc.d/dhcpd.inc +++ b/src/etc/inc/plugins.inc.d/dhcpd.inc @@ -1362,7 +1362,7 @@ function dhcpd_dhcp6_configure($verbose = false, $blacklist = array()) } $dhcpdv6conf = << - - - - - - - diff --git a/src/www/services_dhcpv6_edit.php b/src/www/services_dhcpv6_edit.php index de750affa..9239a8fbe 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', 'domain'); + $config_copy_fieldnames = array('duid', 'hostname', 'ipaddrv6', 'filename' ,'rootpath' ,'descr', '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]; @@ -88,6 +88,15 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { if (empty($pconfig['duid']) || preg_match('/^([a-fA-F0-9]{2}[:])*([a-fA-F0-9]{2}){1}$/', $pconfig['duid']) !== 1) { $input_errors[] = gettext("A valid DUID Identifier must be specified."); } + if (!empty($pconfig['domainsearchlist'])) { + $domain_array=preg_split("/[ ;]+/",$pconfig['domainsearchlist']); + foreach ($domain_array as $curdomain) { + if (!is_domain($curdomain)) { + $input_errors[] = gettext("A valid domain search list must be specified."); + break; + } + } + } /* check for overlaps */ $a_maps = &config_read_array('dhcpdv6', $if, 'staticmap'); @@ -102,7 +111,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { } if (count($input_errors) == 0) { $mapent = array(); - $config_copy_fieldnames = array('duid', 'ipaddrv6', 'hostname', 'descr', 'filename', 'rootpath', 'domain'); + $config_copy_fieldnames = array('duid', 'ipaddrv6', 'hostname', 'descr', 'filename', 'rootpath', 'domainsearchlist'); foreach ($config_copy_fieldnames as $fieldname) { if (!empty($pconfig[$fieldname])) { $mapent[$fieldname] = $pconfig[$fieldname]; @@ -193,11 +202,11 @@ include("head.inc"); - + - -