From f28f40f7a62b9a6fe939c05b10366b0d66c9ec1e Mon Sep 17 00:00:00 2001 From: tbrehm Date: Fri, 27 Feb 2009 17:50:34 +0000 Subject: [PATCH] Fixed amavisd socket path. --- install/dist/lib/centos52.lib.php | 50 +++++++++++++++++++++++++++++++ install/lib/install.lib.php | 4 +-- 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/install/dist/lib/centos52.lib.php b/install/dist/lib/centos52.lib.php index da77b423ae..782759420b 100644 --- a/install/dist/lib/centos52.lib.php +++ b/install/dist/lib/centos52.lib.php @@ -30,6 +30,56 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 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 23e27b28bf..fb2fb15327 100644 --- a/install/lib/install.lib.php +++ b/install/lib/install.lib.php @@ -508,7 +508,7 @@ function is_group($group){ 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 @@ function replaceLine($filename,$search_pattern,$new_line,$strict = 0) { //* 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); } -- GitLab