From 51d0a2ec1d8642bb317ebeb9c4acdc4dd84e2fae Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Sun, 25 Jan 2009 06:48:26 -0500
Subject: [PATCH] Fixed: FS#471 - Client cannot choose the IP Address when adding a new web site 

---
 install/lib/installer_base.lib.php |   40 ++++++++++++++++++++++++++++++++--------
 1 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 2a6cca0..abdf109 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -365,6 +365,7 @@
 			'virtual_gid_maps = static:'.$cf['vmail_groupid'],
 			'smtpd_sasl_auth_enable = yes',
 			'broken_sasl_auth_clients = yes',
+			'smtpd_sasl_authenticated_header = yes',
 			'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:'.$config_dir.'/mysql-virtual_recipient.cf, reject_unauth_destination',
 			'smtpd_use_tls = yes',
 			'smtpd_tls_security_level = may',
@@ -373,7 +374,7 @@
 			'transport_maps = proxy:mysql:'.$config_dir.'/mysql-virtual_transports.cf',
 			'relay_domains = mysql:'.$config_dir.'/mysql-virtual_relaydomains.cf',
 			'virtual_create_maildirsize = yes',
-			'virtual_mailbox_extended = yes',
+			'virtual_maildir_extended = yes',
 			'virtual_mailbox_limit_maps = proxy:mysql:'.$config_dir.'/mysql-virtual_mailbox_limit_maps.cf',
 			'virtual_mailbox_limit_override = yes',
 			'virtual_maildir_limit_message = "The user you are trying to reach is over quota."',
@@ -429,8 +430,8 @@
         }
 		$configfile = $config_dir.'/master.cf';
 		$content = rf($configfile);
-		$content = str_replace('  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}', 
-                   '  flags=R user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}',
+		$content = str_replace('flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}', 
+                   'flags=R user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}',
                      $content);
 		wf($configfile, $content);
 		
@@ -665,6 +666,7 @@
 		// **enable chrooting
 		//exec('mkdir -p '.$config_dir.'/conf/ChrootEveryone');
 		exec('echo "yes" > '.$config_dir.'/conf/ChrootEveryone');
+		exec('echo "yes" > '.$config_dir.'/conf/BrokenClientsCompatibility');
 	}
 	
 	public function configure_mydns()
@@ -699,6 +701,26 @@
 			replaceLine('/etc/suphp/suphp.conf','docroot=','docroot=/var/clients',0);
 		}
 		
+		if(is_file('/etc/apache2/sites-enabled/000-default')) {
+			replaceLine('/etc/apache2/sites-available/000-default','NameVirtualHost *','NameVirtualHost *:80',1);
+			replaceLine('/etc/apache2/sites-available/000-default','<VirtualHost *>','<VirtualHost *:80>',1);
+		}
+		
+		if(is_file('/etc/apache2/ports.conf')) {
+			// add a line "Listen 443" to ports conf if line does not exist
+			replaceLine('/etc/apache2/ports.conf','Listen 443','Listen 443',1);
+		}
+		
+		
+		//* Copy the ISPConfig configuration include
+        $vhost_conf_dir = $conf['apache']['vhost_conf_dir'];
+        $vhost_conf_enabled_dir = $conf['apache']['vhost_conf_enabled_dir'];
+        
+		copy('tpl/apache_ispconfig.conf.master',$vhost_conf_dir.'/ispconfig.conf');
+		if(!@is_link($vhost_conf_enabled_dir."/000-ispconfig.conf")) {
+			exec("ln -s ".$vhost_conf_dir."/ispconfig.conf ".$vhost_conf_enabled_dir."/000-ispconfig.conf");
+		}
+		
 	}
 	
 	public function configure_firewall()
@@ -725,7 +747,7 @@
     		$tcp_public_services = trim(str_replace(',',' ',$row["tcp_port"]));
     		$udp_public_services = trim(str_replace(',',' ',$row["udp_port"]));
   		} else {
-    		$tcp_public_services = '21 22 25 53 80 110 443 3306 8080 10000';
+    		$tcp_public_services = '21 22 25 53 80 110 143 443 3306 8080 10000';
     		$udp_public_services = '53';
   		}
 		
@@ -866,7 +888,7 @@
 						include_once($install_dir.'/server/plugins-available/'.$file);
 						$plugin_name = substr($file,0,-8);
 						$tmp = new $plugin_name;
-						if($tmp->onInstall()) {
+						if(method_exists($tmp,'onInstall') && $tmp->onInstall()) {
 							if(!@is_link($install_dir.'/server/plugins-enabled/'.$file)) @symlink($install_dir.'/server/plugins-available/'.$file, $install_dir.'/server/plugins-enabled/'.$file);
 							if (strpos($file, '_core_plugin') !== false) {
 								if(!@is_link($install_dir.'/server/plugins-core/'.$file)) @symlink($install_dir.'/server/plugins-available/'.$file, $install_dir.'/server/plugins-core/'.$file);
@@ -1034,8 +1056,8 @@
 		}
 		
 		$root_cron_jobs = array(
-			'* * * * * /usr/local/ispconfig/server/server.sh > /dev/null',
-			'30 00 * * * /usr/local/ispconfig/server/cron_daily.sh > /dev/null'
+			'* * * * * /usr/local/ispconfig/server/server.sh > /dev/null 2>> /var/log/ispconfig/cron.log',
+			'30 00 * * * /usr/local/ispconfig/server/cron_daily.sh > /dev/null 2>> /var/log/ispconfig/cron.log'
 		);
 		foreach($root_cron_jobs as $cron_job) {
 			if(!in_array($cron_job."\n", $existing_root_cron_jobs)) {
@@ -1052,7 +1074,9 @@
 			exec('crontab -u getmail -l > crontab.txt');
 			$existing_cron_jobs = file('crontab.txt');
 		
-			$cron_jobs = array('*/5 * * * * '.$cf['program'].' -g '.$cf['config_dir'].' -r '.$cf['config_dir'].'/*.conf > /dev/null');
+			$cron_jobs = array(
+                '*/5 * * * * '.$cf['program'].' -g '.$cf['config_dir'].' -r '.$cf['config_dir'].'/*.conf > /dev/null 2>> /var/log/ispconfig/cron.log'
+            );
 		
 			// remove existing ispconfig cronjobs, in case the syntax has changed
 			foreach($cron_jobs as $key => $val) {

--
Gitblit v1.9.1