From b0ebbdedaa0805599b97a9d3bbc96c0a5cf2bbac Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Sun, 21 Mar 2010 06:04:32 -0400
Subject: [PATCH] Fixed: FS#1124 - Traffic quota on some systems not working

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

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 6833b08..20eb61a 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -218,6 +218,11 @@
 		$tpl_ini_array['web']['group'] = $conf['apache']['group'];
 		$tpl_ini_array['mail']['pop3_imap_daemon'] = ($conf['dovecot']['installed'] == true)?'dovecot':'courier';
 		$tpl_ini_array['mail']['mail_filter_syntax'] = ($conf['dovecot']['installed'] == true)?'sieve':'maildrop';
+		$tpl_ini_array['dns']['bind_user'] = $conf['bind']['bind_user'];
+		$tpl_ini_array['dns']['bind_group'] = $conf['bind']['bind_group'];
+		$tpl_ini_array['dns']['bind_zonefiles_dir'] = $conf['bind']['bind_zonefiles_dir'];
+		$tpl_ini_array['dns']['named_conf_path'] = $conf['bind']['named_conf_path'];
+		$tpl_ini_array['dns']['named_conf_local_path'] = $conf['bind']['named_conf_local_path'];
         
 		$server_ini_content = array_to_ini($tpl_ini_array);
 		$server_ini_content = mysql_real_escape_string($server_ini_content);
@@ -669,7 +674,7 @@
 		$content = rf($conf["postfix"]["config_dir"].'/master.cf');
 		// Only add the content if we had not addded it before
 		if(!stristr($content,"dovecot/deliver")) {
-			$deliver_content = "dovecot   unix  -       n       n       -       -       pipe\n  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}";
+			$deliver_content = 'dovecot   unix  -       n       n       -       -       pipe'."\n".'  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}';
 			af($conf["postfix"]["config_dir"].'/master.cf',$deliver_content);
 		}
 		unset($content);
@@ -724,7 +729,7 @@
 		
 		// amavisd user config file
 		$configfile = 'amavisd_user_config';
-		if(is_file($conf["amavis"]["config_dir"].'/conf.d/50-user')) copy($conf["amavis"]["config_dir"].'/conf.d/50-user',$conf["courier"]["config_dir"].'/50-user~');
+		if(is_file($conf["amavis"]["config_dir"].'/conf.d/50-user')) copy($conf["amavis"]["config_dir"].'/conf.d/50-user',$conf["amavis"]["config_dir"].'/50-user~');
 		if(is_file($conf["amavis"]["config_dir"].'/conf.d/50-user~')) exec('chmod 400 '.$conf["amavis"]["config_dir"].'/conf.d/50-user~');
 		$content = rf("tpl/".$configfile.".master");
 		$content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
@@ -829,6 +834,18 @@
 		//exec('mkdir -p '.$config_dir.'/conf/ChrootEveryone');
 		exec('echo "yes" > '.$config_dir.'/conf/ChrootEveryone');
 		exec('echo "yes" > '.$config_dir.'/conf/BrokenClientsCompatibility');
+		
+		if(is_file('/etc/default/pure-ftpd-common')) {
+			replaceLine('/etc/default/pure-ftpd-common','STANDALONE_OR_INETD=inetd','STANDALONE_OR_INETD=standalone',1,0);
+			replaceLine('/etc/default/pure-ftpd-common','VIRTUALCHROOT=false','VIRTUALCHROOT=true',1,0);
+		}
+		
+		if(is_file('/etc/inetd.conf')) {
+			replaceLine('/etc/inetd.conf','/usr/sbin/pure-ftpd-wrapper','#ftp     stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper',0,0);
+			if(is_file('/etc/init.d/openbsd-inetd')) exec('/etc/init.d/openbsd-inetd restart');
+		}
+		
+		if(!is_file('/etc/pure-ftpd/conf/DontResolve')) exec("echo 'yes' > /etc/pure-ftpd/conf/DontResolve");
 	}
 	
 	public function configure_mydns()
@@ -1059,9 +1076,9 @@
 		
 		//* Create the ispconfig apps vhost user and group
 		
-		$apps_vhost_user = $conf['web']['apps_vhost_user'];
-		$apps_vhost_group = $conf['web']['apps_vhost_group'];
-		$install_dir = $conf['web']['website_basedir'].'/apps';
+		$apps_vhost_user = escapeshellcmd($conf['web']['apps_vhost_user']);
+		$apps_vhost_group = escapeshellcmd($conf['web']['apps_vhost_group']);
+		$install_dir = escapeshellcmd($conf['web']['website_basedir'].'/apps');
 		
 		$command = 'groupadd '.$apps_vhost_user;
 		if(!is_group($apps_vhost_group)) caselog($command.' &> /dev/null 2> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
@@ -1073,7 +1090,8 @@
 		$command = 'adduser '.$conf['apache']['user'].' '.$apps_vhost_group;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		
-		exec('mkdir -p '.escapeshellcmd($conf['web']['website_basedir'].'/apps'));
+		exec('mkdir -p '.$install_dir);
+		exec("chown $apps_vhost_user:$apps_vhost_group $install_dir");
 		
 		//* Copy the apps vhost file
         $vhost_conf_dir = $conf['apache']['vhost_conf_dir'];
@@ -1368,7 +1386,7 @@
 		if(!is_file('/var/log/ispconfig/ispconfig.log')) exec('touch /var/log/ispconfig/ispconfig.log');
 		
 		exec('mv /usr/local/ispconfig/server/scripts/run-getmail.sh /usr/local/bin/run-getmail.sh');
-		exec('chown getmail /usr/local/bin/run-getmail.sh');
+		if(is_user('getmail')) exec('chown getmail /usr/local/bin/run-getmail.sh');
 		exec('chmod 744 /usr/local/bin/run-getmail.sh');
 		
 		

--
Gitblit v1.9.1