From f9d95c0cc0c61d89007a7a8a3b1a104344547446 Mon Sep 17 00:00:00 2001
From: Carsten Schoene <cs@linux-administrator.com>
Date: Sun, 4 May 2014 13:35:17 +0200
Subject: [PATCH] during update from 3.0.5.3 to 3.0.5.4 on centos6 i got some
 error output

* i don't have mailman installed, but update.php tried to configure it
* i also fixed the check for doveadm in suse & fedora lib, but it seems my centos dovecot does not have "doveadm mount" subcommand, so i think the doveadm error will still exist
* on centos the 'receive_override_options = no_address_mappings' was added to postfix main.cf which leads to not working e-mail aliases/forwards

Reconfigure Services? (yes,no) [yes]: /ispconfig/ispconfig3/tree/master/

Configuring Postfix postalias: fatal: open /var/lib/mailman/data/aliases: No such file or directory Configuring Mailman
PHP Warning: chgrp(): Unable to find gid for mailman in /usr/src/ispconfig3_install/install/dist/lib/fedora.lib.php on line 106 Configuring Jailkit
Configuring Dovecot
usage: doveadm [-Dv] [-f ] []

altmove [-u |-A] [-S ]
auth [-a ] [-x ] []
config [doveconf parameters]
director add|flush|map|remove|status
dump [-t ]
expunge [-u |-A] [-S ]
fetch [-u |-A] [-S ]
force-resync [-u |-A] [-S ]
help
import [-u |-A] [-S ]
kick [-a ] [-f] [|]
log find|reopen|test
mailbox create|delete|list|mutf7|rename|status|subscribe|unsubscribe
penalty [-a ] []
purge [-u |-A] [-S ]
pw [-l] [-p plaintext] [-r rounds] [-s scheme] [-u user] [-V]
reload
search [-u |-A] [-S ]
sis deduplicate|find
stop
user [-a ] [-x ] [...]
who [-a ] [-1] [] []
Configuring Spamassassin
Configuring Getmail
Configuring Database
---
 install/autoupdate.php            | 6 ++++--
 install/dist/lib/fedora.lib.php   | 1 -
 install/dist/lib/opensuse.lib.php | 3 +--
 install/install.php               | 4 +++-
 install/update.php                | 6 ++++--
 5 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/install/autoupdate.php b/install/autoupdate.php
index f9d0e62b2..8960e1358 100644
--- a/install/autoupdate.php
+++ b/install/autoupdate.php
@@ -198,8 +198,10 @@ if($conf['services']['mail'] == true) {
 	$inst->configure_postfix('dont-create-certs');
 
 	//** Configure mailman
-	swriteln('Configuring Mailman');
-	$inst->configure_mailman('update');
+	if($conf['mailman']['installed'] == true) {
+		swriteln('Configuring Mailman');
+		$inst->configure_mailman('update');
+	}
 
 	//* Configure Jailkit
 	swriteln('Configuring Jailkit');
diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index 753db2646..941d1ddd5 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -392,7 +392,6 @@ class installer_dist extends installer_base {
 			'virtual_transport = dovecot',
 			'smtpd_sasl_type = dovecot',
 			'smtpd_sasl_path = private/auth',
-			'receive_override_options = no_address_mappings'
 		);
 
 		// Make a backup copy of the main.cf file
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index 35f60db9c..192514ff7 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -443,7 +443,6 @@ class installer_dist extends installer_base {
 			'virtual_transport = dovecot',
 			'smtpd_sasl_type = dovecot',
 			'smtpd_sasl_path = private/auth',
-			'receive_override_options = no_address_mappings'
 		);
 
 		// Make a backup copy of the main.cf file
@@ -501,7 +500,7 @@ class installer_dist extends installer_base {
 		exec("chown root:root $config_dir/$configfile");
 		
 		// Dovecot shall ignore mounts in website directory
-		exec("doveadm mount add '/srv/www/*' ignore");
+		if(is_installed('doveadm')) exec("doveadm mount add '/srv/www/*' ignore > /dev/null 2> /dev/null");
 
 	}
 
diff --git a/install/install.php b/install/install.php
index 847c2fd72..796b0273f 100644
--- a/install/install.php
+++ b/install/install.php
@@ -191,7 +191,9 @@ if($install_mode == 'standard') {
 	$inst->configure_postfix();
 
 	//* Configure Mailman
-	$inst->configure_mailman('install');
+	if($conf['mailman']['installed'] == true) {
+		$inst->configure_mailman('install');
+	}
 
 	//* Configure jailkit
 	swriteln('Configuring Jailkit');
diff --git a/install/update.php b/install/update.php
index 08ffcc83e..6a1b9d13e 100644
--- a/install/update.php
+++ b/install/update.php
@@ -262,8 +262,10 @@ if($reconfigure_services_answer == 'yes') {
 		$inst->configure_postfix('dont-create-certs');
 
 		//** Configure mailman
-		swriteln('Configuring Mailman');
-		$inst->configure_mailman('update');
+		if($conf['mailman']['installed'] == true) {
+			swriteln('Configuring Mailman');
+			$inst->configure_mailman('update');
+		}
 
 		//* Configure Jailkit
 		swriteln('Configuring Jailkit');
-- 
GitLab