Mailman machinations
authorroot <root@deleuze.hcoop.net>
Wed, 14 Nov 2007 23:28:31 +0000 (18:28 -0500)
committerroot <root@deleuze.hcoop.net>
Tue, 17 Jun 2008 04:21:51 +0000 (00:21 -0400)
conf.d/main/20_mailman-macros
conf.d/router/450_exim4-config_hosted_aliases
conf.d/router/470_exim4-config_mailman [moved from conf.d/router/320_exim4-config_mailman with 67% similarity]
conf.d/router/600_exim4-config_userforward
conf.d/transport/10_exim4-config_mailman

index ce99f83..d25032a 100644 (file)
@@ -12,19 +12,15 @@ MAILMAN_WRAP=MAILMAN_HOME/mail/mailman
 # User and group for Mailman, should match your --with-mail-gid
 # switch to Mailman's configure script.
 # Value is normally "mailman"
-MAILMAN_USER=mail
-MAILMAN_GROUP=mail
-
-# Domains that your lists are in - colon separated list
-# you may wish to add these into local_domains as well
-#
-# These are auto-generated by domtool.
-#
-# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+MAILMAN_USER=list
+MAILMAN_GROUP=list
 
 # These values are derived from the ones above and should not need
 # editing unless you have munged your mailman installation
 
 # The path of the list config file (used as a required file when
 # verifying list addresses)
-MAILMAN_LISTCHK=MAILMAN_HOME/lists/${lc::$local_part}/config.pck
+#MAILMAN_LISTCHK=MAILMAN_HOME/lists/${lc::$local_part}/config.pck
+
+# hcoop-change: Used for looking up a user and domain Mailman mapping.
+MAILMAN_DB=/etc/exim4/mailmandb
index 630a494..51eba3c 100644 (file)
@@ -1,12 +1,4 @@
 
-### router/420_exim4-config_hosted_aliases
-#################################
-
-# This router handles the local part in a case-insensitive way which
-# satisfies the RFCs requirement that postmaster be reachable regardless
-# of case. If you decide to handle /etc/aliases in a caseful way, you
-# need to make arrangements for a caseless postmaster.
-
 # hcoop-change: Custom rule that looks up the local_part and domain
 # in /etc/aliases.hosted.
 
similarity index 67%
rename from conf.d/router/320_exim4-config_mailman
rename to conf.d/router/470_exim4-config_mailman
index b7c60bd..7f01426 100644 (file)
@@ -1,10 +1,11 @@
-# hcoop-change: Route mail for mailing lists
+# hcoop-change: Route mail for mailing lists.
+
 mailman_router:
   driver = accept
   domains = +mm_domains
-  require_files = MAILMAN_LISTCHK
-  condition = ${run{/bin/sh -c \"/usr/local/sbin/checklist ${local_part} ${doma\
-in}\""}{1}{0}}
+  condition = ${if and {{def:domain} \
+                        {eq {${lookup{$local_part}lsearch{MAILMAN_DB}}} \
+                            {$domain}}}}
   local_part_suffix_optional
   local_part_suffix = -admin     : \
                         -bounces   : -bounces+* : \
index 6d24e7b..dab56a4 100644 (file)
@@ -34,6 +34,8 @@ userforward:
   check_ancestor
   allow_filter
   forbid_smtp_code = true
+#  forbid_filter_run = true
+#  forbid_pipe = true
   directory_transport = address_directory
   file_transport = address_file
   pipe_transport = address_pipe
index 3c7fb26..db67db6 100644 (file)
@@ -1,5 +1,5 @@
 # hcoop-change: Transport for mailman lists
-# TODO: get an appropriate AFS token
+
 mailman_transport:
   debug_print = "T: mailman for $local_part@$domain"
   driver = pipe
@@ -12,3 +12,4 @@ mailman_transport:
   home_directory = MAILMAN_HOME
   user = MAILMAN_USER
   group = MAILMAN_GROUP
+  freeze_exec_fail = true