Revision 534d7d69
Added by Joeri Capens over 7 years ago
src/usr/local/www/services_dhcp.php | ||
---|---|---|
183 | 183 |
$pconfig['ddnsdomain'] = $dhcpdconf['ddnsdomain']; |
184 | 184 |
$pconfig['ddnsdomainprimary'] = $dhcpdconf['ddnsdomainprimary']; |
185 | 185 |
$pconfig['ddnsdomainkeyname'] = $dhcpdconf['ddnsdomainkeyname']; |
186 |
$pconfig['ddnsdomainkeyalgorithm'] = $dhcpdconf['ddnsdomainkeyalgorithm']; |
|
186 | 187 |
$pconfig['ddnsdomainkey'] = $dhcpdconf['ddnsdomainkey']; |
187 | 188 |
$pconfig['ddnsupdate'] = isset($dhcpdconf['ddnsupdate']); |
188 | 189 |
$pconfig['ddnsforcehostname'] = isset($dhcpdconf['ddnsforcehostname']); |
... | ... | |
313 | 314 |
if ($_POST['maxtime'] && (!is_numeric($_POST['maxtime']) || ($_POST['maxtime'] < 60) || ($_POST['maxtime'] <= $_POST['deftime']))) { |
314 | 315 |
$input_errors[] = gettext("The maximum lease time must be at least 60 seconds and higher than the default lease time."); |
315 | 316 |
} |
316 |
if (($_POST['ddnsdomain'] && !is_domain($_POST['ddnsdomain']))) {
|
|
317 |
if ($_POST['ddnsupdate'] && !is_domain($_POST['ddnsdomain'])) {
|
|
317 | 318 |
$input_errors[] = gettext("A valid domain name must be specified for the dynamic DNS registration."); |
318 | 319 |
} |
319 |
if (($_POST['ddnsdomain'] && !is_ipaddrv4($_POST['ddnsdomainprimary']))) {
|
|
320 |
if ($_POST['ddnsupdate'] && !is_ipaddrv4($_POST['ddnsdomainprimary'])) {
|
|
320 | 321 |
$input_errors[] = gettext("A valid primary domain name server IP address must be specified for the dynamic domain name."); |
321 | 322 |
} |
322 |
if (($_POST['ddnsdomainkey'] && !$_POST['ddnsdomainkeyname']) || |
|
323 |
($_POST['ddnsdomainkeyname'] && !$_POST['ddnsdomainkey'])) { |
|
324 |
$input_errors[] = gettext("Both a valid domain key and key name must be specified."); |
|
323 |
if ($_POST['ddnsupdate'] && (!$_POST['ddnsdomainkeyname'] || !$_POST['ddnsdomainkeyalgorithm'] || !$_POST['ddnsdomainkey'])) { |
|
324 |
$input_errors[] = gettext("A valid domain key name, algorithm and secret must be specified."); |
|
325 | 325 |
} |
326 | 326 |
if ($_POST['domainsearchlist']) { |
327 | 327 |
$domain_array = preg_split("/[ ;]+/", $_POST['domainsearchlist']); |
... | ... | |
579 | 579 |
$dhcpdconf['ddnsdomain'] = $_POST['ddnsdomain']; |
580 | 580 |
$dhcpdconf['ddnsdomainprimary'] = $_POST['ddnsdomainprimary']; |
581 | 581 |
$dhcpdconf['ddnsdomainkeyname'] = $_POST['ddnsdomainkeyname']; |
582 |
$dhcpdconf['ddnsdomainkeyalgorithm'] = $_POST['ddnsdomainkeyalgorithm']; |
|
582 | 583 |
$dhcpdconf['ddnsdomainkey'] = $_POST['ddnsdomainkey']; |
583 | 584 |
$dhcpdconf['ddnsupdate'] = ($_POST['ddnsupdate']) ? true : false; |
584 | 585 |
$dhcpdconf['ddnsforcehostname'] = ($_POST['ddnsforcehostname']) ? true : false; |
... | ... | |
1124 | 1125 |
$pconfig['ddnsdomainkeyname'] |
1125 | 1126 |
))->setHelp('Dynamic DNS domain key name which will be used to register client names in the DNS server.'); |
1126 | 1127 |
|
1128 |
$section->addInput(new Form_Select( |
|
1129 |
'ddnsdomainkeyalgorithm', |
|
1130 |
'Key algorithm', |
|
1131 |
$pconfig['ddnsdomainkeyalgorithm'], |
|
1132 |
array( |
|
1133 |
'hmac-md5' => 'HMAC-MD5 (legacy default)', |
|
1134 |
'hmac-sha1' => 'HMAC-SHA1', |
|
1135 |
'hmac-sha224' => 'HMAC-SHA224', |
|
1136 |
'hmac-sha256' => 'HMAC-SHA256 (current bind9 default)', |
|
1137 |
'hmac-sha384' => 'HMAC-SHA384', |
|
1138 |
'hmac-sha512' => 'HMAC-SHA512 (most secure)', |
|
1139 |
) |
|
1140 |
)); |
|
1141 |
|
|
1127 | 1142 |
$section->addInput(new Form_Input( |
1128 | 1143 |
'ddnsdomainkey', |
1129 | 1144 |
'DNS Domain key secret', |
... | ... | |
1522 | 1537 |
if (ispageload) { |
1523 | 1538 |
<?php |
1524 | 1539 |
if (!$pconfig['ddnsupdate'] && !$pconfig['ddnsforcehostname'] && empty($pconfig['ddnsdomain']) && empty($pconfig['ddnsdomainprimary']) && |
1525 |
empty($pconfig['ddnsdomainkeyname']) && empty($pconfig['ddnsdomainkey'])) { |
|
1540 |
empty($pconfig['ddnsdomainkeyname']) && empty($pconfig['ddnsdomainkeyalgorithm']) && empty($pconfig['ddnsdomainkey'])) {
|
|
1526 | 1541 |
$showadv = false; |
1527 | 1542 |
} else { |
1528 | 1543 |
$showadv = true; |
... | ... | |
1539 | 1554 |
hideCheckbox('ddnsforcehostname', !showadvdns); |
1540 | 1555 |
hideInput('ddnsdomainprimary', !showadvdns); |
1541 | 1556 |
hideInput('ddnsdomainkeyname', !showadvdns); |
1557 |
hideInput('ddnsdomainkeyalgorithm', !showadvdns); |
|
1542 | 1558 |
hideInput('ddnsdomainkey', !showadvdns); |
1543 | 1559 |
|
1544 | 1560 |
if (showadvdns) { |
Also available in: Unified diff
Add DHCP Dynamic DNS key algorithm choice. Implements #6621