this should be a bit more liberal about locally submitted mail
[mirror/dsa-puppet.git] / modules / exim / templates / eximconf.erb
index 724d7df..1eeb96f 100644 (file)
@@ -117,9 +117,9 @@ domainlist handled_domains = +local_domains : +virtual_domains : +bsmtp_domains
 
 localpartlist local_only_users = lsearch;/etc/exim4/localusers
 
-localpartlist postmasterish = postmaster : abuse : hostmaster : root
+localpartlist postmasterish = postmaster : abuse : hostmaster
 
-hostlist debianhosts = 127.0.0.1 : /var/lib/misc/thishost/debianhosts
+hostlist debianhosts = 127.0.0.1 : /var/lib/misc/thishost/debianhosts
 
 hostlist reservedaddrs = <%= nodeinfo['reservedaddrs'] %>
 
@@ -189,6 +189,7 @@ check_spool_space  = 20M
 delay_warning =
 
 <%- if nodeinfo.has_key?('heavy_exim') and not nodeinfo['heavy_exim'].empty? -%>
+message_body_visible = 5000
 queue_run_max = 50
 deliver_queue_load_max = 50
 queue_only_load = 35
@@ -247,16 +248,16 @@ received_header_text = Received: ${if def:sender_rcvhost {from $sender_rcvhost\n
 # macro definitions.
 # Do not wrap!
 VDOMAINDATA = ${lookup{$domain}partial-lsearch{/etc/exim4/virtualdomains}{$value}}
-WHITELIST = ${if match_domain{$domain}{+virtual_domains}{\
-               ${if exists {/srv/$domain/mail/whitelist}{\
-                ${lookup{$local_part}lsearch{/srv/$domain/mail/whitelist}{$value}{}}\
-                }{}}\
-               }{${lookup{$local_part}lsearch{/etc/exim4/whitelist}{$value}{}} : ${lookup{$local_part}lsearch{/var/lib/misc/$primary_hostname/mail-whitelist}{$value}{}}}}
+WHITELIST = ${if match_domain{$domain}{+virtual_domains}\
+            {${if exists {${extract{directory}{VDOMAINDATA}{${value}/whitelist}}}\
+            {${lookup{$local_part}lsearch{${extract{directory}{VDOMAINDATA}{${value}/whitelist}}}{$value}{}}}{}}}\
+            {/etc/exim4/whitelist} } : \
+            ${lookup{$local_part}lsearch{/var/lib/misc/$primary_hostname/mail-whitelist}{$value}{}}
 GREYLIST_LOCAL_PARTS = ${if match_domain{$domain}{+virtual_domains}\
-                      {${if exists {${extract{directory}{VDOMAINDATA}{${value}/grey_users}}}\
-                      {${lookup{$local_part}lsearch*{${extract{directory}{VDOMAINDATA}{${value}/grey_users}}}{$local_part}{}}}{}}}\
-                      {${lookup{$local_part}lsearch{/etc/exim4/grey_users}{$local_part}{}} : \
-                      ${lookup{$local_part}lsearch{/var/lib/misc/$primary_hostname/mail-greylist}{$local_part}{}}}}
+                       {${if exists {${extract{directory}{VDOMAINDATA}{${value}/grey_users}}}\
+                       {${lookup{$local_part}lsearch*{${extract{directory}{VDOMAINDATA}{${value}/grey_users}}}{$local_part}{}}}{}}}\
+                       {${lookup{$local_part}lsearch{/etc/exim4/grey_users}{$local_part}{}}}} : \
+                       ${lookup{$local_part}lsearch{/var/lib/misc/$primary_hostname/mail-greylist}{$local_part}{}}
 RT_QUEUE_MAP = /srv/rt.debian.org/mail/rt_queue_map
 
 ######################################################################
@@ -338,7 +339,6 @@ acl_getprofile:
   warn    domains        = +virtual_domains
           condition      = ${if exists {${extract{directory}{VDOMAINDATA}{${value}/contentinspectionaction}}}}
           condition      = ${if eq{${lookup{$local_part}lsearch*{${extract{directory}{VDOMAINDATA}{${value}/contentinspectionaction}}}{$value}{}}}{markup}}
-          log_message    = $local_part@$domain: markup
           set acl_m_rprf = markup
 
   accept  condition      = ${if eq {$acl_m_rprf}{}{no}{yes}}
@@ -346,7 +346,6 @@ acl_getprofile:
   warn    domains        = +virtual_domains
           condition      = ${if exists {${extract{directory}{VDOMAINDATA}{${value}/contentinspectionaction}}}}
           condition      = ${if eq{${lookup{$local_part}lsearch*{${extract{directory}{VDOMAINDATA}{${value}/contentinspectionaction}}}{$value}{}}}{blackhole}}
-          log_message    = $local_part@$domain: blackhole
           set acl_m_rprf = blackhole
 
   accept  condition      = ${if eq {$acl_m_rprf}{}{no}{yes}}
@@ -354,7 +353,6 @@ acl_getprofile:
   warn    domains        = +virtual_domains
           condition      = ${if exists {${extract{directory}{VDOMAINDATA}{${value}/contentinspectionaction.cdb}}}}
           condition      = ${if eq{${lookup{$local_part}cdb{${extract{directory}{VDOMAINDATA}{${value}/contentinspectionaction.cdb}}}{$value}{}}}{markup}}
-          log_message    = $local_part@$domain: markup
           set acl_m_rprf = markup
 
   accept  condition      = ${if eq {$acl_m_rprf}{}{no}{yes}}
@@ -362,21 +360,18 @@ acl_getprofile:
   warn    domains        = +virtual_domains
           condition      = ${if exists {${extract{directory}{VDOMAINDATA}{${value}/contentinspectionaction.cdb}}}}
           condition      = ${if eq{${lookup{$local_part}cdb{${extract{directory}{VDOMAINDATA}{${value}/contentinspectionaction.cdb}}}{$value}{}}}{blackhole}}
-          log_message    = $local_part@$domain: blackhole
           set acl_m_rprf = blackhole
 
   accept  condition      = ${if eq {$acl_m_rprf}{}{no}{yes}}
 
   warn    domains        = +local_domains
           condition      = ${if eq{${lookup{$local_part}cdb{/var/lib/misc/${primary_hostname}/mail-contentinspectionaction.cdb}{$value}{}}}{markup}}
-          log_message    = $local_part@$domain: markup
           set acl_m_rprf = markup
 
   accept  condition      = ${if eq {$acl_m_rprf}{}{no}{yes}}
 
   warn    domains        = +local_domains
           condition      = ${if eq{${lookup{$local_part}cdb{/var/lib/misc/${primary_hostname}/mail-contentinspectionaction.cdb}{$value}{}}}{blackhole}}
-          log_message    = $local_part@$domain: blackhole
           set acl_m_rprf = blackhole
 
   accept  condition      = ${if eq {$acl_m_rprf}{}{no}{yes}}
@@ -483,7 +478,7 @@ check_submission:
 
   # Accept if the source is local SMTP (i.e. not over TCP/IP).
   # We do this by testing for an empty sending host field.
-  accept  hosts = : 127.0.0.1
+  accept  hosts = +debianhosts
 
 <%- if nodeinfo['mailrelay'] -%>
   accept  verify   = certificate
@@ -525,6 +520,7 @@ check_recipient:
   accept  verify   = certificate
 
 <%- end -%>
+  accept  hosts = : 127.0.0.1 : @
   warn    acl           = acl_getprofile
           condition     = ${if eq{$acl_m_prf}{}}
           set acl_m_prf = $acl_m_rprf
@@ -809,8 +805,8 @@ check_recipient:
           dnslists = ${if match_domain{$domain}{+virtual_domains}\
                     {${if exists {${extract{directory}{VDOMAINDATA}{${value}/rbllist}}}\
                     {${lookup{$local_part}lsearch*{${extract{directory}{VDOMAINDATA}{${value}/rbllist}}}{$value}{}}}{}}}\
-                    {${lookup{$local_part}lsearch{/etc/exim4/rbllist}{$value}{}} : \
-                    ${lookup{$local_part}lsearch{/var/lib/misc/$primary_hostname/mail-rbl}{$value}{}}}}
+                    {${lookup{$local_part}lsearch{/etc/exim4/rbllist}{$value}{}}}} : \
+                    ${lookup{$local_part}lsearch{/var/lib/misc/$primary_hostname/mail-rbl}{$value}{}}
          domains       = +handled_domains
          !hosts        = +debianhosts : WHITELIST
 
@@ -819,18 +815,18 @@ check_recipient:
           dnslists = ${if match_domain{$domain}{+virtual_domains}\
                     {${if exists {${extract{directory}{VDOMAINDATA}{${value}/rhsbllist}}}\
                     {${expand:${lookup{$local_part}lsearch*{${extract{directory}{VDOMAINDATA}{${value}/rhsbllist}}}{$value}{}}}}{}}}\
-                    {${expand:${lookup{$local_part}lsearch{/etc/exim4/rhsbllist}{$value}{}}} : \
-                    ${expand:${lookup{$local_part}lsearch{/var/lib/misc/$primary_hostname/mail-rhsbl}{$value}{}}}}}
+                    {${expand:${lookup{$local_part}lsearch{/etc/exim4/rhsbllist}{$value}{}}}}} : \
+                    ${expand:${lookup{$local_part}lsearch{/var/lib/misc/$primary_hostname/mail-rhsbl}{$value}{}}}
          domains       = +handled_domains
          !hosts        = +debianhosts : WHITELIST
 
 <%- if nodeinfo['smarthost'].empty? -%>
   deny    domains  = +handled_domains
-          local_parts   = ${if match_domain{$domain}{+virtual_domains}\
-                          {${if exists {${extract{directory}{VDOMAINDATA}{${value}/callout_users}}}\
-                          {${lookup{$local_part}lsearch*{${extract{directory}{VDOMAINDATA}{${value}/callout_users}}}{$local_part}{}}}{}}}\
-                          {${lookup{$local_part}lsearch{/etc/exim4/callout_users}{$local_part}{}} : \
-                          ${lookup{$local_part}lsearch{/var/lib/misc/$primary_hostname/mail-callout}{$local_part}{}}}}
+          local_parts = ${if match_domain{$domain}{+virtual_domains}\
+                        {${if exists {${extract{directory}{VDOMAINDATA}{${value}/callout_users}}}\
+                        {${lookup{$local_part}lsearch*{${extract{directory}{VDOMAINDATA}{${value}/callout_users}}}{$local_part}{}}}{}}}\
+                        {${lookup{$local_part}lsearch{/etc/exim4/callout_users}{$local_part}{}}}} : \
+                        ${lookup{$local_part}lsearch{/var/lib/misc/$primary_hostname/mail-callout}{$local_part}{}}
           !hosts   = +debianhosts : WHITELIST
          !verify  = sender/callout=90s,maxwait=300s
 
@@ -1002,7 +998,7 @@ check_message:
 
 begin rewrite
 
-\N^buildd_(.*)@ries\.debian\.org$\N buildd_$1@buildd.debian.org T
+\N^buildd_(.*)@franck\.debian\.org$\N buildd_$1@buildd.debian.org T
 \N^buildd_(.*)@klecker\.debian\.org$\N buildd_$1@buildd.debian.org T
 *@debian.org ${lookup{$1}cdb{/var/lib/misc/${primary_hostname}/mail-forward.cdb}{$value}fail} T
 *@people.debian.org ${lookup{$1}cdb{/var/lib/misc/${primary_hostname}/mail-forward.cdb}{$value}fail} T
@@ -1258,32 +1254,6 @@ packages:
   no_more
 
 <%- end -%>
-<%=
-out = ""
-if nodeinfo['bugsmaster'] or nodeinfo['bugsmx']
-  domain = 'bugs.debian.org'
-  if nodeinfo['bugsmaster']
-    domain = 'bugs-master.debian.org'
-  end
-  out = '
-# This router delivers for bugs.d.o
-bugs:
-  debug_print = "R: bugs for $local_part@$domain"
-  driver = accept
-  transport = bugs_pipe
-  domains = ' + domain + '
-  cannot_route_message = Unknown or archived bug
-  require_files = /org/bugs.debian.org/mail/run-procmail
-  no_more
-  local_parts = ${if match\
-                  {$local_part}\
-                  {\N^(\d+)(\d{2})(?:-(?:(?:submit|maintonly|quiet|forwarded|done|close|request|submitter)|(?:unsubscribe|ignore|help|(?:sub(?:scribe|help|yes|approve|reject))|unsubyes|bounce|probe|approve|reject|setlistyes|setlistsilentyes).*))?$\N}\
-               {${if exists{/org/bugs.debian.org/spool/db-h/$2/$1$2.summary}\
-              {$local_part}fail}}fail}
-'
-end
-out
-%>
 <%- if nodeinfo['rtmaster'] -%>
 # This router delivers for rt.d.o
 rt_force_new_verbose:
@@ -1427,6 +1397,32 @@ virt_users:
   local_part_suffix_optional
   retry_use_local_part
 
+<%=
+out = ""
+if nodeinfo['bugsmaster'] or nodeinfo['bugsmx']
+  domain = 'bugs.debian.org'
+  if nodeinfo['bugsmaster']
+    domain = 'bugs-master.debian.org'
+  end
+  out = '
+# This router delivers for bugs.d.o
+bugs:
+  debug_print = "R: bugs for $local_part@$domain"
+  driver = accept
+  transport = bugs_pipe
+  domains = ' + domain + '
+  cannot_route_message = Unknown or archived bug
+  require_files = /org/bugs.debian.org/mail/run-procmail
+  no_more
+  local_parts = ${if match\
+                  {$local_part}\
+                  {\N^(\d+)(\d{2})(?:-(?:(?:submit|maintonly|quiet|forwarded|done|close|request|submitter)|(?:unsubscribe|ignore|help|(?:sub(?:scribe|help|yes|approve|reject))|unsubyes|bounce|probe|approve|reject|setlistyes|setlistsilentyes).*))?$\N}\
+               {${if exists{/org/bugs.debian.org/spool/db-h/$2/$1$2.summary}\
+              {$local_part}fail}}fail}
+'
+end
+out
+%>
 ######################################################################
 #                      TRANSPORTS CONFIGURATION                      #
 ######################################################################