Marius Cramer
2013-11-14 7cf3e98090a3e9f0a9cc960d07c5f259adab6a19
install/lib/installer_base.lib.php
@@ -665,6 +665,15 @@
      //* mysql-virtual_relayrecipientmaps.cf
      $this->process_postfix_config('mysql-virtual_relayrecipientmaps.cf');
      //* postfix-dkim
      $full_file_name=$config_dir.'/tag_as_originating.re';
                if(is_file($full_file_name)) copy($full_file_name, $config_dir.$configfile.'~');
      wf($full_file_name,'/^/ FILTER amavis:[127.0.0.1]:10026');
      $full_file_name=$config_dir.'/tag_as_foreign.re';
                if(is_file($full_file_name)) copy($full_file_name, $config_dir.$configfile.'~');
      wf($full_file_name,'/^/ FILTER amavis:[127.0.0.1]:10024');
      //* Changing mode and group of the new created config files.
      caselog('chmod o= '.$config_dir.'/mysql-virtual_*.cf* &> /dev/null',
            __FILE__, __LINE__, 'chmod on mysql-virtual_*.cf*', 'chmod on mysql-virtual_*.cf* failed');
@@ -1039,7 +1048,20 @@
      // Add the clamav user to the amavis group
      exec('adduser clamav amavis');
      // Create the director for DKIM-Keys
      mkdir("/var/lib/amavis/dkim",0750);
      // get shell-user for amavis
      $amavis_user=exec('grep -o "^amavis:\|^vscan:" /etc/passwd');
      if(!empty($amavis_user)) {
         $amavis_user=rtrim($amavis_user,":");
         exec('chown '.$amavis_user.'/var/lib/amavis/dkim');
      }
      // get shell-group for amavis
      $amavis_group=exec('grep -o "^amavis:\|^vscan:" /etc/group');
      if(!empty($amavis_group)) {
         $amavis_group=rtrim($amavis_group,":");
         exec('chgrp '.$amavis_group.'/var/lib/amavis/dkim');
      }
   }
   public function configure_spamassassin() {
@@ -1109,7 +1131,8 @@
      if(is_file('/etc/inetd.conf')) {
         replaceLine('/etc/inetd.conf','/usr/sbin/pure-ftpd-wrapper','#ftp     stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper',0,0);
         if(is_file($conf['init_scripts'].'/'.'openbsd-inetd')) exec($conf['init_scripts'].'/'.'openbsd-inetd restart');
         exec($this->getinitcommand('openbsd-inetd', 'restart'));
         //if(is_file($conf['init_scripts'].'/'.'openbsd-inetd')) exec($conf['init_scripts'].'/'.'openbsd-inetd restart');
      }
      if(!is_file('/etc/pure-ftpd/conf/DontResolve')) exec('echo "yes" > /etc/pure-ftpd/conf/DontResolve');
@@ -1691,6 +1714,7 @@
      $content = str_replace('{language}', $conf['language'], $content);
      $content = str_replace('{timezone}', $conf['timezone'], $content);
      $content = str_replace('{theme}', $conf['theme'], $content);
      $content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content);
      wf($install_dir.'/interface/lib/'.$configfile, $content);
@@ -1715,6 +1739,7 @@
      $content = str_replace('{language}', $conf['language'], $content);
      $content = str_replace('{timezone}', $conf['timezone'], $content);
      $content = str_replace('{theme}', $conf['theme'], $content);
      $content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content);
      wf($install_dir.'/server/lib/'.$configfile, $content);
@@ -2140,6 +2165,23 @@
      chmod($conf['ispconfig_log_dir'].'/cron.log', 0660);
   }
   public function getinitcommand($servicename, $action, $init_script_directory = ''){
      global $conf;
      // systemd
      if(is_executable('/bin/systemd')){
         return 'systemctl '.$action.' '.$servicename.'.service';
      }
      // upstart
      if(is_executable('/sbin/initctl')){
         exec('/sbin/initctl version 2>/dev/null | /bin/grep -q upstart', $retval['output'], $retval['retval']);
         if(intval($retval['retval']) == 0) return 'service '.$servicename.' '.$action;
      }
      // sysvinit
      if($init_script_directory == '') $init_script_directory = $conf['init_scripts'];
      if(substr($init_script_directory, -1) === '/') $init_script_directory = substr($init_script_directory, 0, -1);
      return $init_script_directory.'/'.$servicename.' '.$action;
   }
   /**
    * Helper function - get the path to a template file based on