summaryrefslogtreecommitdiffstats
path: root/src/etc/inc
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2016-01-08 22:55:52 -0600
committerChris Buechler <cmb@pfsense.org>2016-01-08 22:56:32 -0600
commit7c1747a3aa2c5a6a49bf31e11e0058e66bc1ed6a (patch)
treec150422460f576f9a0de9b6b5b4a2ef6854c191d /src/etc/inc
parent7361f6c2e34acafda853103b3b1590e5df875b34 (diff)
downloadpfsense-7c1747a3aa2c5a6a49bf31e11e0058e66bc1ed6a.zip
pfsense-7c1747a3aa2c5a6a49bf31e11e0058e66bc1ed6a.tar.gz
Fix DDNS dhcpd(v6).conf config generation issues. Ticket #5603
Diffstat (limited to 'src/etc/inc')
-rw-r--r--src/etc/inc/services.inc20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/etc/inc/services.inc b/src/etc/inc/services.inc
index 2e58cce..7eec2ff 100644
--- a/src/etc/inc/services.inc
+++ b/src/etc/inc/services.inc
@@ -1067,6 +1067,9 @@ EOD;
if ($newzone['domain-name']) {
if ($need_ddns_updates) {
$newzone['dns-servers'] = array($dhcpifconf['ddnsdomainprimary']);
+ $newzone['ddnsdomainkeyname'] = $dhcpifconf['ddnsdomainkeyname'];
+ $newzone['ddnsdomainkey'] = $dhcpifconf['ddnsdomainkey'];
+ $dhcpdconf .= dhcpdkey($dhcpifconf);
}
$ddns_zones[] = $newzone;
}
@@ -1076,8 +1079,7 @@ EOD;
$dhcpdconf .= "ddns-update-style interim;\n";
$dhcpdconf .= "update-static-leases on;\n";
- $dhcpdconf .= dhcpdkey($dhcpifconf);
- $dhcpdconf .= dhcpdzones($ddns_zones, $dhcpifconf);
+ $dhcpdconf .= dhcpdzones($ddns_zones);
}
/* write dhcpd.conf */
@@ -1122,7 +1124,7 @@ function dhcpdkey($dhcpifconf) {
return $dhcpdconf;
}
-function dhcpdzones($ddns_zones, $dhcpifconf) {
+function dhcpdzones($ddns_zones) {
$dhcpdconf = "";
if (is_array($ddns_zones)) {
@@ -1151,8 +1153,8 @@ function dhcpdzones($ddns_zones, $dhcpifconf) {
if (is_ipaddrv4($secondary)) {
$dhcpdconf .= " secondary {$secondary};\n";
}
- if ($dhcpifconf['ddnsdomainkeyname'] <> "" && $dhcpifconf['ddnsdomainkey'] <> "") {
- $dhcpdconf .= " key {$dhcpifconf['ddnsdomainkeyname']};\n";
+ if ($zone['ddnsdomainkeyname'] <> "" && $zone['ddnsdomainkey'] <> "") {
+ $dhcpdconf .= " key {$zone['ddnsdomainkeyname']};\n";
}
$dhcpdconf .= "}\n";
$added_zones[] = $zone['domain-name'];
@@ -1163,8 +1165,8 @@ function dhcpdzones($ddns_zones, $dhcpifconf) {
if (is_ipaddrv4($secondary)) {
$dhcpdconf .= " secondary {$secondary};\n";
}
- if ($dhcpifconf['ddnsdomainkeyname'] <> "" && $dhcpifconf['ddnsdomainkey'] <> "") {
- $dhcpdconf .= " key {$dhcpifconf['ddnsdomainkeyname']};\n";
+ if ($zone['ddnsdomainkeyname'] <> "" && $zone['ddnsdomainkey'] <> "") {
+ $dhcpdconf .= " key {$zone['ddnsdomainkeyname']};\n";
}
$dhcpdconf .= "}\n";
$added_zones[] = $zone['ptr-domain'];
@@ -1377,6 +1379,8 @@ EOD;
$newzone = array();
$newzone['domain-name'] = $dhcpv6ifconf['domain'];
$newzone['dns-servers'][] = $dhcpv6ifconf['ddnsdomainprimary'];
+ $newzone['ddnsdomainkeyname'] = $dhcpv6ifconf['ddnsdomainkeyname'];
+ $newzone['ddnsdomainkey'] = $dhcpv6ifconf['ddnsdomainkey'];
$ddns_zones[] = $newzone;
}
@@ -1485,7 +1489,7 @@ EOD;
if ($dhcpv6ifconf['domain']) {
$dhcpdv6conf .= dhcpdkey($dhcpv6ifconf);
- $dhcpdv6conf .= dhcpdzones($ddns_zones, $dhcpv6ifconf);
+ $dhcpdv6conf .= dhcpdzones($ddns_zones);
}
if ($config['dhcpdv6'][$dhcpv6if]['ramode'] <> "unmanaged" && isset($config['interfaces'][$dhcpv6if]['enable'])) {
OpenPOWER on IntegriCloud