From 81d83937698ae9042d1204a5154ceb0dbf3c6fcd Mon Sep 17 00:00:00 2001 From: root Date: Wed, 14 Nov 2007 18:28:31 -0500 Subject: [PATCH] Mailman machinations --- conf.d/main/20_mailman-macros | 16 ++++++---------- conf.d/router/450_exim4-config_hosted_aliases | 8 -------- ...4-config_mailman => 470_exim4-config_mailman} | 9 +++++---- conf.d/router/600_exim4-config_userforward | 2 ++ conf.d/transport/10_exim4-config_mailman | 3 ++- 5 files changed, 15 insertions(+), 23 deletions(-) rename conf.d/router/{320_exim4-config_mailman => 470_exim4-config_mailman} (67%) diff --git a/conf.d/main/20_mailman-macros b/conf.d/main/20_mailman-macros index ce99f83..d25032a 100644 --- a/conf.d/main/20_mailman-macros +++ b/conf.d/main/20_mailman-macros @@ -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 diff --git a/conf.d/router/450_exim4-config_hosted_aliases b/conf.d/router/450_exim4-config_hosted_aliases index 630a494..51eba3c 100644 --- a/conf.d/router/450_exim4-config_hosted_aliases +++ b/conf.d/router/450_exim4-config_hosted_aliases @@ -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. diff --git a/conf.d/router/320_exim4-config_mailman b/conf.d/router/470_exim4-config_mailman 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 --- a/conf.d/router/320_exim4-config_mailman +++ b/conf.d/router/470_exim4-config_mailman @@ -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+* : \ diff --git a/conf.d/router/600_exim4-config_userforward b/conf.d/router/600_exim4-config_userforward index 6d24e7b..dab56a4 100644 --- a/conf.d/router/600_exim4-config_userforward +++ b/conf.d/router/600_exim4-config_userforward @@ -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 diff --git a/conf.d/transport/10_exim4-config_mailman b/conf.d/transport/10_exim4-config_mailman index 3c7fb26..db67db6 100644 --- a/conf.d/transport/10_exim4-config_mailman +++ b/conf.d/transport/10_exim4-config_mailman @@ -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 -- 2.20.1