# 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
-### 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.
-# 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+* : \
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
# hcoop-change: Transport for mailman lists
-# TODO: get an appropriate AFS token
+
mailman_transport:
debug_print = "T: mailman for $local_part@$domain"
driver = pipe
home_directory = MAILMAN_HOME
user = MAILMAN_USER
group = MAILMAN_GROUP
+ freeze_exec_fail = true