appendfile: taint-enforce file & directory options
[users/jgh/exim.git] / test / confs / 4201
index 3b87cd5fcf93726db3cdc4a3f14dba2cc191f72c..a2c45a327d78a2e698d8fa368848cf3bc1e4b06e 100644 (file)
@@ -1,37 +1,69 @@
 # Exim test configuration 4201
+# SMTPUTF8 handling
+
+OPTION = *
+CONTROL =
+INSERT =
+SUB =
+
+.include DIR/aux-var/std_conf_prefix
 
-exim_path = EXIM_PATH
-host_lookup_order = bydns
-spool_directory = DIR/spool
-log_file_path = DIR/spool/log/%slog
-gecos_pattern = ""
-gecos_name = CALLER_NAME
 
 # ----- Main settings -----
 
-domainlist local_domains = test.ex
+domainlist local_domains = test.ex : cname
 
 acl_smtp_rcpt = check_recipient
+acl_not_smtp = non_smtp
+
 trusted_users = CALLER
-log_selector = +received_recipients
+log_selector = +received_recipients +sender_on_delivery
 
 .ifdef SERVER
 queue_only
 queue_run_in_order
 .endif
 
-smtputf8_advertise_hosts = *
+smtputf8_advertise_hosts = OPTION
+
+SUB
 
 
 # ----- ACL -----
 
 begin acl
 
+
+.ifdef SERVER
+
 check_recipient:
   accept hosts = :
   accept domains = +local_domains
+        local_parts = ^(xn--)?user.*\$
   deny   message = relay not permitted
 
+.else
+
+sub:
+.ifdef INSERT
+  require INSERT
+.endif
+.ifdef CONTROL
+  require CONTROL
+.endif
+  accept
+
+check_recipient:
+  accept domains = *
+        acl = sub
+
+non_smtp:
+  accept senders = :
+        control = queue_only
+  accept
+
+.endif
+
 # ----- Routers -----
 
 begin routers
@@ -43,14 +75,32 @@ fail_remote_domains:
   domains = ! +local_domains
   data = :fail: unrouteable mail domain "$domain"
 
+bounces:
+  driver = redirect
+  condition = ${if eq {} {$sender_address}}
+  data = DIR/test-mail/$local_part
+  file_transport = local_delivery
+
 localuser:
   driver = redirect
   data = :blackhole:
 
 .else
 
+bounces:
+  driver = redirect
+  domains = *.local
+  data = DIR/test-mail/$local_part
+  file_transport = local_delivery
+
+redir:
+  driver = redirect
+  local_parts = ^z
+  data  =      ${substr_1:$local_part}@$domain
+
 rmt:
   driver = manualroute
+  domains = +local_domains
   route_data = <;[127.0.0.1]:PORT_D
   transport = rmt_smtp
   self = send
@@ -63,9 +113,10 @@ begin transports
 
 local_delivery:
   driver = appendfile
+  user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
@@ -73,5 +124,9 @@ local_delivery:
 
 rmt_smtp:
   driver = smtp
+  hosts_try_fastopen = :
+.ifdef STRICT
+  utf8_downconvert = STRICT
+.endif
 
 # End