diff options
Diffstat (limited to 'src/etc/inc/services.inc')
-rw-r--r-- | src/etc/inc/services.inc | 20 |
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'])) { |