diff --git a/dns/pfSense-pkg-bind9/files/usr/local/pkg/bind.inc b/dns/pfSense-pkg-bind9/files/usr/local/pkg/bind.inc index 26a957db30e4..d4715e1c49b1 100644 --- a/dns/pfSense-pkg-bind9/files/usr/local/pkg/bind.inc +++ b/dns/pfSense-pkg-bind9/files/usr/local/pkg/bind.inc @@ -587,9 +587,18 @@ EOD; log_error("[bind] {$key_restored} DNSSEC keys restored from XML backup for {$zonename} zone."); } $dnssec_bin = "/usr/local/sbin/dnssec-keygen"; + if ($zonereverso == "on") { + if ($zonereversv6o == "on") { + $z = "${zonename}.ip6.arpa"; + } else { + $z = "${zonename}.in-addr.arpa"; + } + } else { + $z = $zonename; + } if (file_exists($dnssec_bin) && $key_restored == 0) { - exec("{$dnssec_bin} -K " . CHROOT_LOCALBASE . "/etc/namedb/keys {$zonename}", $kout); - exec("{$dnssec_bin} -K " . CHROOT_LOCALBASE . "/etc/namedb/keys -fk {$zonename}", $kout); + exec("{$dnssec_bin} -K " . CHROOT_LOCALBASE . "/etc/namedb/keys {$z}", $kout); + exec("{$dnssec_bin} -K " . CHROOT_LOCALBASE . "/etc/namedb/keys -fk {$z}", $kout); foreach ($kout as $filename) { chown(CHROOT_LOCALBASE . "/etc/namedb/keys/{$filename}.key", "bind"); chown(CHROOT_LOCALBASE . "/etc/namedb/keys/{$filename}.private", "bind");