From 37b29231e47a0c4458dc1c15d98588f16f07e1e2 Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Thu, 06 Aug 2015 03:18:44 -0400 Subject: [PATCH] - don't set password via remoting if field is empty --- install/install.php | 88 +++++++++++++++++++++++++++++++------------- 1 files changed, 62 insertions(+), 26 deletions(-) diff --git a/install/install.php b/install/install.php index 3a2de4a..a439672 100644 --- a/install/install.php +++ b/install/install.php @@ -171,8 +171,16 @@ //** Get the hostname $tmp_out = array(); exec('hostname -f', $tmp_out); -$conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', @$tmp_out[0],'hostname'); +$conf['hostname'] = @$tmp_out[0]; unset($tmp_out); +//** Prevent empty hostname +$check = false; +do { + $conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', $conf['hostname'], 'hostname'); + $conf['hostname']=trim($conf['hostname']); + $check = @($conf['hostname'] !== '')?true:false; + if(!$check) swriteln('Hostname may not be empty.'); +} while (!$check); // Check if the mysql functions are loaded in PHP if(!function_exists('mysql_connect')) die('No PHP MySQL functions available. Please ensure that the PHP MySQL module is loaded.'); @@ -181,6 +189,7 @@ $finished = false; do { $tmp_mysql_server_host = $inst->free_query('MySQL server hostname', $conf['mysql']['host'],'mysql_hostname'); + $tmp_mysql_server_port = $inst->free_query('MySQL server port', $conf['mysql']['port'],'mysql_port'); $tmp_mysql_server_admin_user = $inst->free_query('MySQL root username', $conf['mysql']['admin_user'],'mysql_root_user'); $tmp_mysql_server_admin_password = $inst->free_query('MySQL root password', $conf['mysql']['admin_password'],'mysql_root_password'); $tmp_mysql_server_database = $inst->free_query('MySQL database to create', $conf['mysql']['database'],'mysql_database'); @@ -194,8 +203,9 @@ } //* Initialize the MySQL server connection - if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) { + if(@mysql_connect($tmp_mysql_server_host . ':' . (int)$tmp_mysql_server_port, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) { $conf['mysql']['host'] = $tmp_mysql_server_host; + $conf['mysql']['port'] = $tmp_mysql_server_port; $conf['mysql']['admin_user'] = $tmp_mysql_server_admin_user; $conf['mysql']['admin_password'] = $tmp_mysql_server_admin_password; $conf['mysql']['database'] = $tmp_mysql_server_database; @@ -238,11 +248,11 @@ $inst->add_database_server_record(); //* Configure Postgrey - $force = @($conf['postgrey']['installed']) ? true : $inst->force_configure_app('Postgrey'); + $force = @($conf['postgrey']['installed']) ? true : $inst->force_configure_app('Postgrey', false); if($force) swriteln('Configuring Postgrey'); //* Configure Postfix - $force = @($conf['postfix']['installed']) ? true : $inst->force_configure_app('Postfix'); + $force = @($conf['postfix']['installed']) ? true : $inst->force_configure_app('Postfix', false); if($force) { swriteln('Configuring Postfix'); $inst->configure_postfix(); @@ -252,7 +262,7 @@ if($conf['services']['mail']) { //* Configure Mailman - $force = @($conf['mailman']['installed']) ? true : $inst->force_configure_app('Mailman'); + $force = @($conf['mailman']['installed']) ? true : $inst->force_configure_app('Mailman', false); if($force) { swriteln('Configuring Mailman'); $inst->configure_mailman(); @@ -260,8 +270,8 @@ //* Check for Dovecot and Courier if(!$conf['dovecot']['installed'] && !$conf['courier']['installed']) { - $conf['dovecot']['installed'] = @($conf['dovecot']['installed']) ? false : $inst->force_configure_app('Dovecot'); - $conf['courier']['installed'] = @($conf['couier']['installed']) ? false : $inst->force_configure_app('Courier'); + $conf['dovecot']['installed'] = $inst->force_configure_app('Dovecot', false); + $conf['courier']['installed'] = $inst->force_configure_app('Courier', false); } //* Configure Mailserver - Dovecot or Courier if($conf['dovecot']['installed'] && $conf['courier']['installed']) { @@ -288,21 +298,21 @@ } //* Configure Spamasassin - $force = @($conf['spamassassin']['installed']) ? true : $inst->force_configure_app('Spamassassin'); + $force = @($conf['spamassassin']['installed']) ? true : $inst->force_configure_app('Spamassassin', false); if($force) { swriteln('Configuring Spamassassin'); $inst->configure_spamassassin(); } //* Configure Amavis - $force = @($conf['amavis']['installed']) ? true : $inst->force_configure_app('Amavisd'); + $force = @($conf['amavis']['installed']) ? true : $inst->force_configure_app('Amavisd', false); if($force) { swriteln('Configuring Amavisd'); $inst->configure_amavis(); } //* Configure Getmail - $force = @($conf['getmail']['installed']) ? true : $inst->force_configure_app('Getmail'); + $force = @($conf['getmail']['installed']) ? true : $inst->force_configure_app('Getmail', false); if($force) { swriteln('Configuring Getmail'); $inst->configure_getmail(); @@ -312,9 +322,9 @@ //* Check for DNS if(!$conf['powerdns']['installed'] && !$conf['bind']['installed'] && !$conf['mydns']['installed']) { - $conf['powerdns']['installed'] = $inst->force_configure_app('PowerDNS'); - $conf['bind']['installed'] = $inst->force_configure_app('BIND'); - $conf['mydns']['installed'] = $inst->force_configure_app('MyDNS'); + $conf['powerdns']['installed'] = $inst->force_configure_app('PowerDNS', false); + $conf['bind']['installed'] = $inst->force_configure_app('BIND', false); + $conf['mydns']['installed'] = $inst->force_configure_app('MyDNS', false); } //* Configure PowerDNS if($conf['powerdns']['installed']) { @@ -336,14 +346,14 @@ } //* Configure Jailkit - $force = @($conf['jailkit']['installed']) ? true : $inst->force_configure_app('Jailkit'); + $force = @($conf['jailkit']['installed']) ? true : $inst->force_configure_app('Jailkit', false); if($force) { swriteln('Configuring Jailkit'); $inst->configure_jailkit(); } //* Configure Pureftpd - $force = @($conf['pureftpd']['installed']) ? true : $inst->force_configure_app('pureftpd'); + $force = @($conf['pureftpd']['installed']) ? true : $inst->force_configure_app('pureftpd', false); if($force) { swriteln('Configuring Pureftpd'); $inst->configure_pureftpd(); @@ -351,8 +361,8 @@ //* Check for Web-Server if(!$conf['apache']['installed'] && !$conf['nginx']['installed']) { - $conf['apache']['installed'] = $inst->force_configure_app('Apache'); - $conf['nginx']['installed'] = $inst->force_configure_app('nginx'); + $conf['apache']['installed'] = $inst->force_configure_app('Apache', false); + $conf['nginx']['installed'] = $inst->force_configure_app('nginx', false); } //* Configure Webserver - Apache or nginx @@ -372,7 +382,7 @@ $conf['services']['web'] = true; $conf['services']['file'] = true; //* Configure Vlogger - $force = @($conf['vlogger']['installed']) ? true : $inst->force_configure_app('vlogger'); + $force = @($conf['vlogger']['installed']) ? true : $inst->force_configure_app('vlogger', false); if($force) { swriteln('Configuring vlogger'); $inst->configure_vlogger(); @@ -396,7 +406,7 @@ } //* Configure XMPP - $force = @($conf['xmpp']['installed']) ? true : $inst->force_configure_app('Metronome XMPP Server'); + $force = @($conf['xmpp']['installed']) ? true : $inst->force_configure_app('Metronome XMPP Server', false); if($force) { swriteln('Configuring Metronome XMPP Server'); $inst->configure_xmpp(); @@ -405,8 +415,8 @@ //* Check for Firewall if(!$conf['ufw']['installed'] && !$conf['firewall']['installed']) { - $conf['ufw']['installed'] = $inst->force_configure_app('Ubuntu Firewall'); - $conf['firewall']['installed'] = $inst->force_configure_app('Bastille Firewall'); + $conf['ufw']['installed'] = $inst->force_configure_app('Ubuntu Firewall', false); + $conf['firewall']['installed'] = $inst->force_configure_app('Bastille Firewall', false); } //* Configure Firewall - Ubuntu or Bastille if($conf['ufw']['installed'] && $conf['firewall']['installed']) { @@ -431,14 +441,14 @@ } //* Configure Fail2ban - $force = @($conf['fail2ban']['installed']) ? true : $inst->force_configure_app('Fail2ban'); + $force = @($conf['fail2ban']['installed']) ? true : $inst->force_configure_app('Fail2ban', false); if($force) { swriteln('Configuring Fail2ban'); $inst->configure_fail2ban(); } //* Configure OpenVZ - $force = @($conf['openvz']['installed']) ? true : $inst->force_configure_app('OpenVZ'); + $force = @($conf['openvz']['installed']) ? true : $inst->force_configure_app('OpenVZ', false); if($force) { $conf['services']['vserver'] = true; swriteln('Configuring OpenVZ'); @@ -453,6 +463,18 @@ //** Customize the port ISPConfig runs on $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port'); + $conf['interface_password'] = $inst->free_query('Admin password', 'admin'); + if($conf['interface_password'] != 'admin') { + $check = false; + do { + unset($temp_password); + $temp_password = $inst->free_query('Re-enter admin password', ''); + $check = @($temp_password == $conf['interface_password'])?true:false; + if(!$check) swriteln('Passwords do not match.'); + } while (!$check); + } + unset($check); + unset($temp_password); if($conf['apache']['installed'] == true) $conf['apache']['vhost_port'] = $ispconfig_vhost_port; if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port'] = $ispconfig_vhost_port; unset($ispconfig_vhost_port); @@ -515,13 +537,15 @@ $finished = false; do { $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname'); + $tmp_mysql_server_port = $inst->free_query('MySQL master server port', $conf['mysql']['master_port'],'mysql_master_port'); $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user'); $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password'); $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database'); //* Initialize the MySQL server connection - if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) { + if(@mysql_connect($tmp_mysql_server_host . ':' . (int)$tmp_mysql_server_port, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) { $conf['mysql']['master_host'] = $tmp_mysql_server_host; + $conf['mysql']['master_port'] = $tmp_mysql_server_port; $conf['mysql']['master_admin_user'] = $tmp_mysql_server_admin_user; $conf['mysql']['master_admin_password'] = $tmp_mysql_server_admin_password; $conf['mysql']['master_database'] = $tmp_mysql_server_database; @@ -591,8 +615,8 @@ //* Check for Dovecot and Courier if(!$conf['dovecot']['installed'] && !$conf['courier']['installed']) { - $conf['dovecot']['installed'] = @($conf['dovecot']['installed']) ? false : $inst->force_configure_app('Dovecot'); - $conf['courier']['installed'] = @($conf['couier']['installed']) ? false : $inst->force_configure_app('Courier'); + $conf['dovecot']['installed'] = $inst->force_configure_app('Dovecot'); + $conf['courier']['installed'] = $inst->force_configure_app('Courier'); } //* Configure Mailserver - Dovecot or Courier if($conf['dovecot']['installed'] && $conf['courier']['installed']) { @@ -792,6 +816,18 @@ //** Customise the port ISPConfig runs on $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port'); + $conf['interface_password'] = $inst->free_query('Admin password', 'admin'); + if($conf['interface_password'] != 'admin') { + $check = false; + do { + unset($temp_password); + $temp_password = $inst->free_query('Re-enter admin password', ''); + $check = @($temp_password == $conf['interface_password'])?true:false; + if(!$check) swriteln('Passwords do not match.'); + } while (!$check); + } + unset($check); + unset($temp_password); if($conf['apache']['installed'] == true) $conf['apache']['vhost_port'] = $ispconfig_vhost_port; if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port'] = $ispconfig_vhost_port; unset($ispconfig_vhost_port); -- Gitblit v1.9.1