From f28f40f7a62b9a6fe939c05b10366b0d66c9ec1e Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Fri, 27 Feb 2009 12:50:34 -0500
Subject: [PATCH] Fixed amavisd socket path.

---
 install/lib/install.lib.php       |    4 ++--
 install/dist/lib/centos52.lib.php |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 2 deletions(-)

diff --git a/install/dist/lib/centos52.lib.php b/install/dist/lib/centos52.lib.php
index da77b42..7827594 100644
--- a/install/dist/lib/centos52.lib.php
+++ b/install/dist/lib/centos52.lib.php
@@ -30,6 +30,56 @@
 
 class installer extends installer_dist {
 
+	public function configure_amavis() {
+		global $conf;
+		
+		// amavisd user config file
+		$configfile = 'fedora_amavisd_conf';
+		if(is_file($conf["amavis"]["config_dir"].'/amavisd.conf')) copy($conf["amavis"]["config_dir"].'/amavisd.conf',$conf["courier"]["config_dir"].'/amavisd.conf~');
+		if(is_file($conf["amavis"]["config_dir"].'/amavisd.conf~')) exec('chmod 400 '.$conf["amavis"]["config_dir"].'/amavisd.conf~');
+		$content = rf("tpl/".$configfile.".master");
+		$content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
+		$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_port}',$conf["mysql"]["port"],$content);
+		$content = str_replace('{mysql_server_ip}',$conf['mysql']['ip'],$content);
+		$content = str_replace('{hostname}',$conf['hostname'],$content);
+		$content = str_replace('/var/spool/amavisd/clamd.sock','/tmp/clamd.socket',$content);
+		wf($conf["amavis"]["config_dir"].'/amavisd.conf',$content);
+		
+		
+		// Adding the amavisd commands to the postfix configuration
+		$postconf_commands = array (
+			'content_filter = amavis:[127.0.0.1]:10024',
+			'receive_override_options = no_address_mappings'
+		);
+		
+		// Make a backup copy of the main.cf file
+		copy($conf["postfix"]["config_dir"].'/main.cf',$conf["postfix"]["config_dir"].'/main.cf~2');
+		
+		// Executing the postconf commands
+		foreach($postconf_commands as $cmd) {
+			$command = "postconf -e '$cmd'";
+			caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		}
+		
+		// Append the configuration for amavisd to the master.cf file
+		if(is_file($conf["postfix"]["config_dir"].'/master.cf')) copy($conf["postfix"]["config_dir"].'/master.cf',$conf["postfix"]["config_dir"].'/master.cf~');
+		$content = rf($conf["postfix"]["config_dir"].'/master.cf');
+		// Only add the content if we had not addded it before
+		if(!stristr($content,"127.0.0.1:10025")) {
+			unset($content);
+			$content = rf("tpl/master_cf_amavis.master");
+			af($conf["postfix"]["config_dir"].'/master.cf',$content);
+		}
+		unset($content);
+		
+		removeLine('/etc/sysconfig/freshclam','FRESHCLAM_DELAY=disabled-warn   # REMOVE ME',1);
+		replaceLine('/etc/freshclam.conf','Example','# Example',1);
+		
+		
+	}
+
 
 }
 
diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php
index 23e27b2..fb2fb15 100644
--- a/install/lib/install.lib.php
+++ b/install/lib/install.lib.php
@@ -508,7 +508,7 @@
   return false;
 }
 
-function replaceLine($filename,$search_pattern,$new_line,$strict = 0) {
+function replaceLine($filename,$search_pattern,$new_line,$strict = 0,$append = 1) {
 	if($lines = @file($filename)) {
 		$out = '';
 		$found = 0;
@@ -533,7 +533,7 @@
 			//* add \n if the last line does not end with \n or \r
 			if(substr($out,-1) != "\n" && substr($out,-1) != "\r") $out .= "\n";
 			//* add the new line at the end of the file
-			$out .= $new_line."\n";
+			if($append == 1) $out .= $new_line."\n";
 		}
 		file_put_contents($filename,$out);
 	}

--
Gitblit v1.9.1