]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/exim/templates/default/exim4.conf.erb
Allow % in local parts for locally submitted mail
[chef.git] / cookbooks / exim / templates / default / exim4.conf.erb
index 81639bce49c0d935e8a72157a3453e4275347fcc..8158b8ae0e9e14f78d272c5ef4b6ad23ab707385 100644 (file)
@@ -1,4 +1,4 @@
-# $Cambridge: exim/exim-src/src/configure.default,v 1.14 2009/10/16 07:46:13 tom Exp $
+# DO NOT EDIT - This file is being maintained by Chef
 
 ######################################################################
 #                  Runtime configuration file for Exim               #
@@ -371,7 +371,7 @@ acl_check_rcpt:
 
   deny    message       = Restricted characters in address
           domains       = !+local_domains
-          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
+          local_parts   = ^[./|] : ^.*[@!] : ^.*/\\.\\./
   #############################################################################
 
   # Accept mail to postmaster in any local domain, regardless of the source,
@@ -383,6 +383,10 @@ acl_check_rcpt:
   # Deny incoming mail unless the sender address can be verified.
 
   deny   !hosts         = +relay_from_hosts
+         !verify        = sender
+
+  deny   !hosts         = +relay_from_hosts
+         !senders       = lsearch*@;/etc/exim4/callout_exempt_senders
          !verify        = sender/callout/defer_ok
 
   # Accept if the message comes from one of the hosts for which we are an
@@ -571,6 +575,8 @@ noreply:
 <% end -%>
 <% if details[:local_parts] -%>
   local_parts = <%= details[:local_parts].join(" : ") %>
+  local_part_suffix = +*
+  local_part_suffix_optional
 <% end -%>
 <% if details[:host] -%>
 <% if details[:host].kind_of?(Array) -%>
@@ -693,19 +699,31 @@ noreply:
   group = Debian-exim
 
 <% node[:exim][:routes].each do |name,details| -%>
-<% if details[:command] -%>
+<% if details[:command] or details[:file] or details[:maildir] -%>
 # This transport handles mail for <%= details[:comment] -%>.
 
 <%= name -%>:
+<% if details[:command] -%>
   driver = pipe
   command = <%= details[:command] %>
+  home_directory = <%= details[:home_directory] %>
+  return_output
+<% else -%>
+  driver = appendfile
+<% if details[:file] -%>
+  file = <%= details[:file] %>
+<% elsif details[:maildir] -%>
+  directory = <%= details[:maildir] %>
+  maildir_format
+<% end -%>
+  envelope_to_add
+  return_path_add
+  mode = 0660
+<% end -%>
   user = <%= details[:user] %>
 <% if details[:group] -%>
   group = <%= details[:group] %>
 <% end -%>
-  home_directory = <%= details[:home_directory] %>
-  return_output
-
 
 <% end -%>
 <% end -%>
@@ -742,6 +760,9 @@ begin retry
 # There are no rewriting specifications in this default configuration file.
 
 begin rewrite
+<% node[:exim][:rewrites].each do |rewrite| -%>
+<%= rewrite[:pattern] %> <%= rewrite[:replacement] %> <%= rewrite[:flags] %>
+<% end -%>