From 236d796455c44b0ca40ca6582ae1fbb614f8bf21 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 03 Jan 2012 06:08:04 -0500
Subject: [PATCH] Fixed: FS#1858 - Old SSH-RSA Public Key not deleted from authorized_keys when deleted or changed

---
 install/update.php |   64 ++++++++++++++++++++++----------
 1 files changed, 44 insertions(+), 20 deletions(-)

diff --git a/install/update.php b/install/update.php
index e568b26..769cdce 100644
--- a/install/update.php
+++ b/install/update.php
@@ -139,11 +139,17 @@
 $clientdb_user			= '';
 $clientdb_password		= '';
 
-//** Ask user for mysql admin_password if empty
-if( empty($conf["mysql"]["admin_password"]) ) {
-
-	$conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']);
-}
+//** Test mysql root connection
+$finished = false;
+do {
+	if(@mysql_connect($conf["mysql"]["host"],$conf["mysql"]["admin_user"],$conf["mysql"]["admin_password"])) {
+		$finished = true;
+	} else {
+		swriteln($inst->lng('Unable to connect to mysql server').' '.mysql_error());
+		$conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']);
+	}
+} while ($finished == false);
+unset($finished);
 
 /*
  *  Prepare the dump of the database 
@@ -187,6 +193,10 @@
 	$inst->dbmaster = $inst->db;
 }
 
+/*
+ *  Check all tables
+*/
+checkDbHealth();
 
 /*
  *  dump the new Database and reconfigure the server.ini
@@ -277,13 +287,19 @@
 	}
 	
 	if($conf['services']['web']) {
-		//** Configure Apache
-		swriteln('Configuring Apache');
-		$inst->configure_apache();
+		if($conf['webserver']['server_type'] == 'apache'){
+			//** Configure Apache
+			swriteln('Configuring Apache');
+			$inst->configure_apache();
         
-        //** Configure vlogger
-        swriteln('Configuring vlogger');
-        $inst->configure_vlogger();
+			//** Configure vlogger
+			swriteln('Configuring vlogger');
+			$inst->configure_vlogger();
+		} else {
+			//** Configure nginx
+			swriteln('Configuring nginx');
+			$inst->configure_nginx();
+		}
 		
 		//** Configure apps vhost
 		swriteln('Configuring Apps vhost');
@@ -301,13 +317,10 @@
 			//* Configure Bastille Firewall
 			swriteln('Configuring Bastille Firewall');
 			$inst->configure_firewall();
-		} elseif($conf['ufw']['installed'] == true) {
-			//* Configure Ubuntu Firewall
-			swriteln('Configuring Ubuntu Firewall');
-			$inst->configure_ufw_firewall();
 		}
 	}
 	
+	/*
 	if($conf['squid']['installed'] == true) {
 		swriteln('Configuring Squid');
 		$inst->configure_squid();
@@ -315,6 +328,7 @@
 		swriteln('Configuring Nginx');
 		$inst->configure_nginx();
 	}
+	*/
 }
 
 //** Configure ISPConfig
@@ -324,7 +338,12 @@
 if ($conf['services']['web'] && $inst->ispconfig_interface_installed) {
 	//** Customise the port ISPConfig runs on
 	$ispconfig_port_number = get_ispconfig_port_number();
-	$conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number);
+	if($conf['webserver']['server_type'] == 'nginx'){
+		$conf['nginx']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number);
+	} else {
+		$conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number);
+	}
+	
 	
 	// $ispconfig_ssl_default = (is_ispconfig_ssl_enabled() == true)?'y':'n';
 	if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate',array('yes','no'),'no')) == 'yes') {
@@ -359,7 +378,12 @@
 		if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script'])) 		system($conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart');
 	}
 	if($conf['services']['web']) {
-		if($conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) 				system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
+		if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) 				system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
+		//* Reload is enough for nginx
+		if($conf['webserver']['server_type'] == 'nginx'){
+			if($conf['nginx']['php_fpm_init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'].' reload');
+			if($conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) 				system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' reload');
+		}
 		if($conf['pureftpd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['pureftpd']['init_script']))				system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
 	}
 	if($conf['services']['dns']) {
@@ -369,15 +393,15 @@
 	}
 	
 	if($conf['services']['proxy']) {
-		if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['squid']['init_script']))					system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null');
+		// if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['squid']['init_script']))					system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null');
 		if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script']))					system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' restart &> /dev/null');
 	}
 	
 	if($conf['services']['firewall']) {
-		if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['ufw']['init_script']))					system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null');
+		//if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['ufw']['init_script']))					system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null');
 	}
 }
 
 echo "Update finished.\n";
 
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1