From 42539643c396f9d8865dcf9a51b13dc869709d16 Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Wed, 13 Aug 2014 07:16:50 -0400 Subject: [PATCH] Merge remote-tracking branch 'ispc/stable-3.0.5' into stable-3.0.5 --- install/lib/installer_base.lib.php | 52 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 12 deletions(-) diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index 7d6348b..548cf93 100644 --- a/install/lib/installer_base.lib.php +++ b/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'); -- Gitblit v1.9.1