From 1db3b186c334013817778cd0bfe8edae9c1a0ce3 Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Wed, 05 Feb 2014 09:30:36 -0500 Subject: [PATCH] Merge branch 'master' into 'master' --- install/tpl/master_cf_amavis10025.master | 15 +++++ install/dist/lib/centos53.lib.php | 22 +++++- install/install.php | 2 install/lib/installer_base.lib.php | 24 ++++++-- install/dist/lib/fedora.lib.php | 22 +++++- install/dist/lib/gentoo.lib.php | 19 +++++- install/dist/lib/opensuse.lib.php | 20 +++++- install/tpl/master_cf_amavis10027.master | 18 ++++++ install/tpl/master_cf_amavis.master | 13 ---- install/dist/lib/centos52.lib.php | 22 +++++- 10 files changed, 135 insertions(+), 42 deletions(-) diff --git a/install/dist/lib/centos52.lib.php b/install/dist/lib/centos52.lib.php index f4aa4df..7f8901b 100644 --- a/install/dist/lib/centos52.lib.php +++ b/install/dist/lib/centos52.lib.php @@ -141,13 +141,25 @@ } // 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'); + 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")) { + if(!preg_match('/^amavis\s+/m', $content)) { unset($content); - $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', "tpl/master_cf_amavis.master"); - af($conf["postfix"]["config_dir"].'/master.cf', $content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10025\s+/m', $content)) { + unset($content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10025.master', 'tpl/master_cf_amavis10025.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10027\s+/m', $content)) { + unset($content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10027.master', 'tpl/master_cf_amavis10027.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); } unset($content); diff --git a/install/dist/lib/centos53.lib.php b/install/dist/lib/centos53.lib.php index 93083b5..ee586f7 100644 --- a/install/dist/lib/centos53.lib.php +++ b/install/dist/lib/centos53.lib.php @@ -142,13 +142,25 @@ } // 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'); + 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")) { + if(!preg_match('/^amavis\s+/m', $content)) { unset($content); - $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', "tpl/master_cf_amavis.master"); - af($conf["postfix"]["config_dir"].'/master.cf', $content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10025\s+/m', $content)) { + unset($content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10025.master', 'tpl/master_cf_amavis10025.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10027\s+/m', $content)) { + unset($content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10027.master', 'tpl/master_cf_amavis10027.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); } unset($content); diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php index 3d86492..bbcdfa6 100644 --- a/install/dist/lib/fedora.lib.php +++ b/install/dist/lib/fedora.lib.php @@ -497,13 +497,25 @@ } // 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'); + 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")) { + if(!preg_match('/^amavis\s+/m', $content)) { unset($content); - $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', "tpl/master_cf_amavis.master"); - af($conf["postfix"]["config_dir"].'/master.cf', $content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10025\s+/m', $content)) { + unset($content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10025.master', 'tpl/master_cf_amavis10025.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10027\s+/m', $content)) { + unset($content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10027.master', 'tpl/master_cf_amavis10027.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); } unset($content); diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php index 7078f83..e7aac8c 100644 --- a/install/dist/lib/gentoo.lib.php +++ b/install/dist/lib/gentoo.lib.php @@ -332,14 +332,25 @@ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); } - //* Append the configuration for amavisd to the master.cf file + // Append the configuration for amavisd to the master.cf file $content = rf($conf['postfix']['config_dir'].'/master.cf'); - - if(!stristr($content, '127.0.0.1:10025')) //* Only add the content if we had not addded it before - { + // Only add the content if we had not addded it before + if(!preg_match('/^amavis\s+/m', $content)) { unset($content); $content = $this->get_template_file('master_cf_amavis', true); af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10025\s+/m', $content)) { + unset($content); + $content = $this->get_template_file('master_cf_amavis10025', true); + af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10027\s+/m', $content)) { + unset($content); + $content = $this->get_template_file('master_cf_amavis10027', true); + af($conf['postfix']['config_dir'].'/master.cf', $content); } unset($content); diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php index 9ec6bcf..a052615 100644 --- a/install/dist/lib/opensuse.lib.php +++ b/install/dist/lib/opensuse.lib.php @@ -533,11 +533,23 @@ // 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")) { + // Only add the content if we had not addded it before + if(!preg_match('/^amavis\s+/m', $content)) { unset($content); - $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', "tpl/master_cf_amavis.master"); - af($conf["postfix"]["config_dir"].'/master.cf', $content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10025\s+/m', $content)) { + unset($content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10025.master', 'tpl/master_cf_amavis10025.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10027\s+/m', $content)) { + unset($content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10027.master', 'tpl/master_cf_amavis10027.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); } unset($content); diff --git a/install/install.php b/install/install.php index 75a8b70..22bd4a7 100644 --- a/install/install.php +++ b/install/install.php @@ -344,6 +344,8 @@ if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'restart').' &> /dev/null'); if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '') system($inst->getinitcommand($conf['ufw']['init_script'], 'restart').' &> /dev/null'); +} else { + //* In expert mode, we select the services in the following steps, only db is always available $conf['services']['mail'] = false; $conf['services']['web'] = false; diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index cdb0a53..61a1fba 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -669,11 +669,11 @@ //* postfix-dkim $full_file_name=$config_dir.'/tag_as_originating.re'; - if(is_file($full_file_name)) copy($full_file_name, $config_dir.$configfile.'~'); + if(is_file($full_file_name)) copy($full_file_name, $full_file_name.'~'); wf($full_file_name, '/^/ FILTER amavis:[127.0.0.1]:10026'); $full_file_name=$config_dir.'/tag_as_foreign.re'; - if(is_file($full_file_name)) copy($full_file_name, $config_dir.$configfile.'~'); + if(is_file($full_file_name)) copy($full_file_name, $full_file_name.'~'); wf($full_file_name, '/^/ FILTER amavis:[127.0.0.1]:10024'); //* Changing mode and group of the new created config files. @@ -1040,9 +1040,21 @@ 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')) { + if(!preg_match('/^amavis\s+unix\s+/m', $content)) { unset($content); $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10025\s+/m', $content)) { + unset($content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10025.master', 'tpl/master_cf_amavis10025.master'); + af($conf['postfix']['config_dir'].'/master.cf', $content); + $content = rf($conf['postfix']['config_dir'].'/master.cf'); + } + if(!preg_match('/^127.0.0.1:10027\s+/m', $content)) { + unset($content); + $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10027.master', 'tpl/master_cf_amavis10027.master'); af($conf['postfix']['config_dir'].'/master.cf', $content); } unset($content); @@ -1051,18 +1063,18 @@ exec('adduser clamav amavis'); // Create the director for DKIM-Keys - mkdir("/var/lib/amavis/dkim", 0750); + if(!is_dir('/var/lib/amavis/dkim')) mkdir('/var/lib/amavis/dkim', 0750, true); // get shell-user for amavis $amavis_user=exec('grep -o "^amavis:\|^vscan:" /etc/passwd'); if(!empty($amavis_user)) { $amavis_user=rtrim($amavis_user, ":"); - exec('chown '.$amavis_user.'/var/lib/amavis/dkim'); + exec('chown '.$amavis_user.' /var/lib/amavis/dkim'); } // get shell-group for amavis $amavis_group=exec('grep -o "^amavis:\|^vscan:" /etc/group'); if(!empty($amavis_group)) { $amavis_group=rtrim($amavis_group, ":"); - exec('chgrp '.$amavis_group.'/var/lib/amavis/dkim'); + exec('chgrp '.$amavis_group.' /var/lib/amavis/dkim'); } } diff --git a/install/tpl/master_cf_amavis.master b/install/tpl/master_cf_amavis.master index 2dd76f2..54478f3 100644 --- a/install/tpl/master_cf_amavis.master +++ b/install/tpl/master_cf_amavis.master @@ -3,16 +3,3 @@ -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -127.0.0.1:10025 inet n - - - - smtpd - -o content_filter= - -o local_recipient_maps= - -o relay_recipient_maps= - -o smtpd_restriction_classes= - -o smtpd_client_restrictions= - -o smtpd_helo_restrictions= - -o smtpd_sender_restrictions= - -o smtpd_recipient_restrictions=permit_mynetworks,reject - -o mynetworks=127.0.0.0/8 - -o strict_rfc821_envelopes=yes - -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks - diff --git a/install/tpl/master_cf_amavis10025.master b/install/tpl/master_cf_amavis10025.master new file mode 100644 index 0000000..fb0481b --- /dev/null +++ b/install/tpl/master_cf_amavis10025.master @@ -0,0 +1,15 @@ + +127.0.0.1:10025 inet n - n - - smtpd + -o content_filter= + -o local_recipient_maps= + -o relay_recipient_maps= + -o smtpd_restriction_classes= + -o smtpd_client_restrictions= + -o smtpd_helo_restrictions= + -o smtpd_sender_restrictions= + -o smtpd_recipient_restrictions=permit_mynetworks,reject + -o mynetworks=127.0.0.0/8 + -o strict_rfc821_envelopes=yes + -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks + -o smtp_send_xforward_command=yes + diff --git a/install/tpl/master_cf_amavis10027.master b/install/tpl/master_cf_amavis10027.master new file mode 100644 index 0000000..f24a8b2 --- /dev/null +++ b/install/tpl/master_cf_amavis10027.master @@ -0,0 +1,18 @@ + +127.0.0.1:10027 inet n - n - - smtpd + -o content_filter= + -o local_recipient_maps= + -o relay_recipient_maps= + -o smtpd_restriction_classes= + -o smtpd_client_restrictions= + -o smtpd_helo_restrictions= + -o smtpd_sender_restrictions= + -o smtpd_recipient_restrictions=permit_mynetworks,reject + -o mynetworks=127.0.0.0/8 + -o strict_rfc821_envelopes=yes + -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks + -o smtp_send_xforward_command=yes + -o milter_default_action=accept + -o milter_macro_daemon_name=ORIGINATING + -o smtpd_milters=inet:127.0.0.1:4445 + -- Gitblit v1.9.1