From fc85c73e1de4426f9fd50d75292ec130b62d2fa6 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 06 Feb 2013 09:34:57 -0500
Subject: [PATCH] FS#2651 - Improve mailman configuration

---
 install/tpl/mailman-virtual_to_transport.sh |    3 +++
 install/lib/installer_base.lib.php          |   19 ++++++++++++++++++-
 server/conf/mm_cfg.py.master                |    2 ++
 install/tpl/mm_cfg.py.master                |    2 ++
 4 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 9c74364..441d550 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -566,6 +566,23 @@
 				}
 			}
 		}
+		
+		$config_dir = $conf['mailman']['config_dir'].'/';
+		$full_file_name = $config_dir.'virtual_to_transport.sh';
+		
+		//* Backup exiting virtual_to_transport.sh script
+		if(is_file($full_file_name)) {
+			copy($full_file_name, $config_dir.'virtual_to_transport.sh~');
+		}
+		
+		copy('tpl/mailman-virtual_to_transport.sh',$full_file_name);
+		chgrp($full_file_name,'list');
+		chmod($full_file_name,0750);
+		
+		if(!is_file('/var/lib/mailman/data/transport-mailman')) touch('/var/lib/mailman/data/transport-mailman');
+		exec('/usr/sbin/postmap /var/lib/mailman/data/transport-mailman');
+		
+		exec('/usr/lib/mailman/bin/genaliases');
 
 		$virtual_domains = '';
 		if($status == 'update')
@@ -681,7 +698,7 @@
 				'smtpd_tls_security_level = may',
 				'smtpd_tls_cert_file = '.$config_dir.'/smtpd.cert',
 				'smtpd_tls_key_file = '.$config_dir.'/smtpd.key',
-				'transport_maps = proxy:mysql:'.$config_dir.'/mysql-virtual_transports.cf',
+				'transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:'.$config_dir.'/mysql-virtual_transports.cf',
 				'relay_domains = mysql:'.$config_dir.'/mysql-virtual_relaydomains.cf',
 				'relay_recipient_maps = mysql:'.$config_dir.'/mysql-virtual_relayrecipientmaps.cf',
 				'proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps',
diff --git a/install/tpl/mailman-virtual_to_transport.sh b/install/tpl/mailman-virtual_to_transport.sh
new file mode 100644
index 0000000..6c57d25
--- /dev/null
+++ b/install/tpl/mailman-virtual_to_transport.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+sed -r -e 's/(^[^#]\S+\s+).+$/\1local/' $1 > /var/lib/mailman/data/transport-mailman
+/usr/sbin/postmap /var/lib/mailman/data/transport-mailman
\ No newline at end of file
diff --git a/install/tpl/mm_cfg.py.master b/install/tpl/mm_cfg.py.master
index 9501c61..c0de780 100644
--- a/install/tpl/mm_cfg.py.master
+++ b/install/tpl/mm_cfg.py.master
@@ -102,5 +102,7 @@
 # http://www.jamesh.id.au/articles/mailman-spamassassin/
 # GLOBAL_PIPELINE.insert(1, 'SpamAssassin')
 
+POSTFIX_MAP_CMD = '/etc/mailman/virtual_to_transport.sh'
+
 # Note - if you're looking for something that is imported from mm_cfg, but you
 # didn't find it above, it's probably in /usr/lib/mailman/Mailman/Defaults.py.
\ No newline at end of file
diff --git a/server/conf/mm_cfg.py.master b/server/conf/mm_cfg.py.master
index 9ec47a7..3dcf5a6 100644
--- a/server/conf/mm_cfg.py.master
+++ b/server/conf/mm_cfg.py.master
@@ -102,5 +102,7 @@
 # http://www.jamesh.id.au/articles/mailman-spamassassin/
 # GLOBAL_PIPELINE.insert(1, 'SpamAssassin')
 
+POSTFIX_MAP_CMD = '/etc/mailman/virtual_to_transport.sh'
+
 # Note - if you're looking for something that is imported from mm_cfg, but you
 # didn't find it above, it's probably in /usr/lib/mailman/Mailman/Defaults.py.
\ No newline at end of file

--
Gitblit v1.9.1