Testsuite: avoid indeterminate delivery ordering
[exim.git] / test / confs / 5700
index 52b28018a1964efb32ce632dfaa1d9cc99068c1e..031e690b32183da78d3b19c26d5652dc12320e3b 100644 (file)
@@ -1,39 +1,94 @@
 # Exim test configuration 5700
 
-exim_path = EXIM_PATH
-host_lookup_order = bydns
-rfc1413_query_timeout = 0s
-spool_directory = DIR/spool
-log_file_path = DIR/spool/log/%slog
-gecos_pattern = ""
-gecos_name = CALLER_NAME
+.include DIR/aux-var/std_conf_prefix
+
 
 # ----- Main settings -----
 
 acl_smtp_rcpt = accept
 acl_smtp_data = accept
 
+event_action = ${acl {logger}}
+
 
 # ----- ACL -----
 
 begin acl
 
-logger:
-    accept condition = ${if eq {$acl_arg2}{domain1}}
-          logwrite = \
+ev_tcp:
+    accept condition = ${if eq {$event_name}{tcp:connect}}
+          logwrite = . [$host_address]:$host_port
+    accept condition = ${if eq {$event_name}{tcp:close}}
+          logwrite = . [$sending_ip_address] -> \
+                       [$host_address]:$host_port
+    accept
+
+ev_smtp:
+    accept
+          logwrite = . [$sending_ip_address] -> \
+                       [$host_address]:$host_port
+          logwrite = . banner <$event_data>
+
+ev_msg_fail:
+    accept condition = ${if eq {$event_name}{msg:fail:delivery}}
+          logwrite = . \
+           refused by fdqn <$host> \
+           local_part <$local_part> \
+           domain <$domain> \
+
+    accept logwrite = . \
+           local_part <$local_part> \
+           domain <$domain> \
+           reason <$event_data>
+
+ev_msg_log:
+    accept logwrite = . \
            $acl_arg1 \
-           ip <$tpda_delivery_ip> \
-           port <$tpda_delivery_port> \
-           fqdn <$tpda_delivery_fqdn> \
-           local_part <$tpda_delivery_local_part> \
-           domain <$tpda_delivery_domain> \
-           confirmation <$tpda_delivery_confirmation> \
-           errno <$tpda_defer_errno> \
-           errstr <$tpda_defer_errstr> \
+           ip <$host_address> \
+           port <$host_port> \
+           fqdn <$host> \
+           local_part <$local_part> \
+           domain <$domain> \
+           $acl_arg2 \
            router <$router_name> \
            transport <$transport_name>
 
-    accept logwrite = $this_expansion_will_fail
+ev_msg:
+    accept condition = ${if eq {fail} {${listextract{2}{$event_name}}}}
+          acl = ev_msg_fail
+
+    accept condition = ${if eq {$event_name}{msg:complete}}
+          logwrite = . finished: $message_exim_id
+
+    accept condition = ${if !eq {$domain}{domain1}}
+          logwrite = $this_expansion_will_fail
+
+    accept condition = ${if eq {$event_name}{msg:delivery}}
+          acl = ev_msg_log delivery "confirmation <$event_data>"
+
+    accept condition = ${if eq {$event_name}{msg:host:defer}}
+          acl = ev_msg_log "host deferral" \
+                       "errno <$event_defer_errno> errstr <$event_data>"
+
+    accept condition = ${if eq {$event_name}{msg:rcpt:defer}}
+          set acl_m_ev_lkup =  ${eval:$event_defer_errno & 0xff}
+          set acl_m_ev_lkup =  ${if = {$acl_m_ev_lkup}{65} {A} \
+                               { ${if = {$acl_m_ev_lkup}{77} {MX} \
+                                 {$acl_m_ev_lkup}}}}
+          set acl_m_ev_code =  4${eval:$event_defer_errno >>8}
+          acl = ev_msg_log "rcpt deferral" \
+                       "err <$event_defer_errno>:<$acl_m_ev_lkup:$acl_m_ev_code> \
+                       errstr <$event_data>"
+
+logger:
+    warn   logwrite = event $event_name
+    accept condition = ${if eq {tcp} {${listextract{1}{$event_name}}}}
+          acl = ev_tcp
+    accept condition = ${if eq {smtp} {${listextract{1}{$event_name}}}}
+          acl = ev_smtp
+    accept condition = ${if eq {msg} {${listextract{1}{$event_name}}}}
+          acl = ev_msg
+
 
 # ----- Routers -----
 
@@ -49,6 +104,7 @@ others:
   route_list = * 127.0.0.1 byname
   self = send
   transport = smtp
+  errors_to = ""
   no_more
 
 
@@ -61,7 +117,6 @@ smtp:
   port = PORT_S
   command_timeout = 1s
   final_timeout = 1s
-  tpda_delivery_action =   ${acl {logger} {delivery} {$domain} }
-  tpda_host_defer_action = ${acl {logger} {deferral} {$domain} }
+  event_action =   ${acl {logger}}
 
 # End