A. Täffner
2016-01-20 36bc9f1d48518d70a3b09a77776cbb15e7d2dac3
server/plugins-available/bind_plugin.inc.php
@@ -117,7 +117,7 @@
         //TODO : change this when distribution information has been integrated into server record
         if (file_exists('/etc/gentoo-release')) {
            $filename = escapeshellcmd($dns_config['bind_zonefiles_dir'].'/pri.'.str_replace("/", "_", substr($zone['origin'], 0, -1)));
            $filename = escapeshellcmd($dns_config['bind_zonefiles_dir'].'/pri/'.str_replace("/", "_", substr($zone['origin'], 0, -1)));
         }
         else {
            $filename = escapeshellcmd($dns_config['bind_zonefiles_dir'].'/pri.'.str_replace("/", "_", substr($zone['origin'], 0, -1)));
@@ -133,7 +133,11 @@
         if($return_status === 0) {
            $app->log("Writing BIND domain file: ".$filename, LOGLEVEL_DEBUG);
         } else {
            $app->log("Writing BIND domain file failed: ".$filename." ".implode(' ', $out), LOGLEVEL_WARN);
            if($dns_config['disable_bind_log'] === 'y') {
               $app->log("Writing BIND domain file failed: ".$filename." ".implode(' ', $out), LOGLEVEL_DEBUG);
            } else {
               $app->log("Writing BIND domain file failed: ".$filename." ".implode(' ', $out), LOGLEVEL_WARN);
            }
            rename($filename, $filename.'.err');
         }
         unset($tpl);
@@ -151,7 +155,7 @@
      if($data['old']['origin'] != $data['new']['origin']) {
         //TODO : change this when distribution information has been integrated into server record
         if (file_exists('/etc/gentoo-release')) {
            $filename = $dns_config['bind_zonefiles_dir'].'/pri.'.str_replace("/", "_", substr($data['old']['origin'], 0, -1));
            $filename = $dns_config['bind_zonefiles_dir'].'/pri/'.str_replace("/", "_", substr($data['old']['origin'], 0, -1));
         }
         else {
            $filename = $dns_config['bind_zonefiles_dir'].'/pri.'.str_replace("/", "_", substr($data['old']['origin'], 0, -1));
@@ -159,7 +163,14 @@
         if(is_file($filename)) unlink($filename);
         if(is_file($filename.'.err')) unlink($filename.'.err');
      }
          //* DNSSEC-Implementation
          if (strlen($data['old']['origin']) > 3) exec('/usr/local/ispconfig/server/scripts/dnssec-delete.sh '.$data['old']['origin']); //delete old keys
          exec('/usr/local/ispconfig/server/scripts/dnssec-create.sh '.$data['new']['origin']); //Create new keys for new origin
       }
       //* DNSSEC-Implementation
       exec('/usr/local/ispconfig/server/scripts/dnssec-update.sh '.$data['new']['origin']);
      //* Restart bind nameserver if update_acl is not empty, otherwise reload it
      if($data['new']['update_acl'] != '') {
@@ -193,6 +204,9 @@
      if(is_file($zone_file_name.'.err')) unlink($zone_file_name.'.err');
      $app->log("Deleting BIND domain file: ".$zone_file_name, LOGLEVEL_DEBUG);
       //* DNSSEC-Implementation
       exec('/usr/local/ispconfig/server/scripts/dnssec-delete.sh '.$data['old']['origin']); //delete keys
      //* Reload bind nameserver
      $app->services->restartServiceDelayed('bind', 'reload');
@@ -338,7 +352,7 @@
      //* Loop trough zones
      foreach($tmps as $tmp) {
         $zone_file = $pri_zonefiles_path.str_replace("/", "_", substr($tmp['origin'], 0, -1));
         $zone_file = $pri_zonefiles_path.str_replace("/", "_", substr($tmp['origin'], 0, -1)).'.signed'; //.signed is for DNSSEC-Implementation
         $options = '';
         if(trim($tmp['xfer']) != '') {