define init q command
[mirror/dsa-puppet.git] / modules / exim / templates / eximconf.erb
index 3bd6f90..ca1210f 100644 (file)
@@ -1211,11 +1211,13 @@ ldap_aliases:
   driver = redirect
   allow_defer
   allow_fail
-  data = ${if exists{/var/lib/misc/$primary_hostname/mail-forward.cdb}\
+  data = ${if exists{/var/lib/misc/$primary_hostname/user-forward.cdb}\
              {${lookup{$local_part}cdb\
-              {/var/lib/misc/$primary_hostname/mail-forward.cdb}}}}
+              {/var/lib/misc/$primary_hostname/user-forward.cdb}}}}
   domains = +local_domains
   file_transport = address_file
+  local_part_suffix = -*
+  local_part_suffix_optional
   headers_add = "Delivered-To: ${local_part}${local_part_suffix}@${domain}"
   pipe_transport = address_pipe
   retry_use_local_part
@@ -1226,6 +1228,8 @@ localuser:
   driver = accept
   check_local_user
   domains = +local_domains
+  local_part_suffix = -*
+  local_part_suffix_optional
   headers_add = "Delivered-To: ${local_part}${local_part_suffix}@${domain}"
   # Disable if the user has never logged in
   require_files = $home
@@ -1254,32 +1258,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:
@@ -1336,6 +1314,8 @@ virt_direct_verify:
   modemask = 002
   directory_transport = address_directory
   domains = +virtual_domains
+  local_part_suffix = -*
+  local_part_suffix_optional
   file = $home/.forward-\
               ${if exists {${home}/.forward-${local_part}}{${local_part}}\
                   {default}}
@@ -1388,6 +1368,8 @@ virt_direct:
   group = ${extract{group}{VDOMAINDATA}}
   headers_add = "Delivered-To: ${local_part}${local_part_suffix}@${domain}"
   modemask = 002
+  local_part_suffix = -*
+  local_part_suffix_optional
   pipe_transport = address_pipe
   reply_transport = address_reply
   retry_use_local_part
@@ -1397,6 +1379,54 @@ virt_direct:
   user = ${extract{user}{VDOMAINDATA}}
   #debug_print = .forward-${if exists {${home}/.forward-${local_part}} {${local_part}} {default}}
 
+# This router delivers to the LDAP generated mail-forward file.
+# It's only really useful for debian.org
+virt_users:
+  debug_print = "R: virt_users for $local_part@$domain"
+  driver = redirect
+  allow_defer
+  allow_fail
+  router_home_directory = ${extract{directory}{VDOMAINDATA}}
+  transport_current_directory = ${extract{directory}{VDOMAINDATA}}
+  user = ${extract{user}{VDOMAINDATA}}
+  group = ${extract{group}{VDOMAINDATA}}
+  data = ${if exists{${extract{directory}{VDOMAINDATA}{${value}/mail-forward.cdb}}}\
+             {${lookup{$local_part}cdb\
+             {${extract{directory}{VDOMAINDATA}{${value}/mail-forward.cdb}}}}}}
+  domains = +virtual_domains
+  file_transport = address_file
+  headers_add = "Delivered-To: ${local_part}${local_part_suffix}@${domain}"
+  pipe_transport = address_pipe
+  local_part_suffix = -*
+  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                      #
 ######################################################################