Marius Cramer
2014-08-13 42539643c396f9d8865dcf9a51b13dc869709d16
install/lib/installer_base.lib.php
@@ -56,12 +56,21 @@
      echo 'WARNING: '.$msg."\n";
   }
   public function simple_query($query, $answers, $default) {
   public function simple_query($query, $answers, $default, $name = '') {
      global $autoinstall;
      $finished = false;
      do {
         $answers_str = implode(',', $answers);
         swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: ');
         $input = sread();
         if($name != '' && $autoinstall[$name] != '') {
            if($autoinstall[$name] == 'default') {
               $input = $default;
            } else {
               $input = $autoinstall[$name];
            }
         } else {
            $answers_str = implode(',', $answers);
            swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: ');
            $input = sread();
         }
         //* Stop the installation
         if($input == 'quit') {
@@ -86,9 +95,18 @@
      return $answer;
   }
   public function free_query($query, $default) {
      swrite($this->lng($query).' ['.$default.']: ');
      $input = sread();
   public function free_query($query, $default, $name = '') {
      global $autoinstall;
      if($name != '' && $autoinstall[$name] != '') {
         if($autoinstall[$name] == 'default') {
            $input = $default;
         } else {
            $input = $autoinstall[$name];
         }
      } else {
         swrite($this->lng($query).' ['.$default.']: ');
         $input = sread();
      }
      //* Stop the installation
      if($input == 'quit') {
@@ -638,7 +656,7 @@
   }
   public function configure_postfix($options = '') {
      global $conf;
      global $conf,$autoinstall;
      $cf = $conf['postfix'];
      $config_dir = $cf['config_dir'];
@@ -750,8 +768,13 @@
      if(!stristr($options, 'dont-create-certs')) {
         //* Create the SSL certificate
         $command = 'cd '.$config_dir.'; '
            .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
         if(AUTOINSTALL){
            $command = 'cd '.$config_dir.'; '
               ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
         } else {
            $command = 'cd '.$config_dir.'; '
               .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
         }
         exec($command);
         $command = 'chmod o= '.$config_dir.'/smtpd.key';
@@ -992,6 +1015,7 @@
      $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
      $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
      $content = str_replace('{server_id}', $conf['server_id'], $content);
      wf($config_dir.'/'.$configfile, $content);
      chmod($config_dir.'/'.$configfile, 0600);
@@ -1671,7 +1695,7 @@
   }
   public function make_ispconfig_ssl_cert() {
      global $conf;
      global $conf,$autoinstall;
      $install_dir = $conf['ispconfig_install_dir'];
@@ -1683,7 +1707,11 @@
      $ssl_pw = substr(md5(mt_rand()), 0, 6);
      exec("openssl genrsa -des3 -passout pass:$ssl_pw -out $ssl_key_file 4096");
      exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -out $ssl_csr_file");
      if(AUTOINSTALL){
         exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -key $ssl_key_file -out $ssl_csr_file");
      } else {
         exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -out $ssl_csr_file");
      }
      exec("openssl req -x509 -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -in $ssl_csr_file -out $ssl_crt_file -days 3650");
      exec("openssl rsa -passin pass:$ssl_pw -in $ssl_key_file -out $ssl_key_file.insecure");
      rename($ssl_key_file, $ssl_key_file.'.secure');