ACL: Ensure that acl_smtp_notquit is called for a conndrop between data-go-ahead...
[exim.git] / test / confs / 5700
1 # Exim test configuration 5700
2
3 .include DIR/aux-var/std_conf_prefix
4
5
6 # ----- Main settings -----
7
8 acl_smtp_rcpt = accept
9 acl_smtp_data = accept
10
11 event_action = ${acl {logger}}
12
13
14 # ----- ACL -----
15
16 begin acl
17
18 ev_tcp:
19     accept condition = ${if eq {$event_name}{tcp:connect}}
20            logwrite = . [$host_address]:$host_port
21     accept condition = ${if eq {$event_name}{tcp:close}}
22            logwrite = . [$sending_ip_address] -> \
23                         [$host_address]:$host_port
24     accept
25
26 ev_smtp:
27     accept
28            logwrite = . [$sending_ip_address] -> \
29                         [$host_address]:$host_port
30            logwrite = . banner <$event_data>
31
32 ev_msg_fail:
33     accept condition = ${if eq {$event_name}{msg:fail:delivery}}
34            logwrite = . \
35             refused by fdqn <$host> \
36             local_part <$local_part> \
37             domain <$domain> \
38
39     accept logwrite = . \
40             local_part <$local_part> \
41             domain <$domain> \
42             reason <$event_data>
43
44 ev_msg_log:
45     accept logwrite = . \
46             $acl_arg1 \
47             ip <$host_address> \
48             port <$host_port> \
49             fqdn <$host> \
50             local_part <$local_part> \
51             domain <$domain> \
52             $acl_arg2 \
53             router <$router_name> \
54             transport <$transport_name>
55
56 ev_msg:
57     accept condition = ${if eq {fail} {${listextract{2}{$event_name}}}}
58            acl = ev_msg_fail
59
60     accept condition = ${if eq {$event_name}{msg:complete}}
61            logwrite = . finished: $message_exim_id
62
63     accept condition = ${if !eq {$domain}{domain1}}
64            logwrite = $this_expansion_will_fail
65
66     accept condition = ${if eq {$event_name}{msg:delivery}}
67            acl = ev_msg_log delivery "confirmation <$event_data>"
68
69     accept condition = ${if eq {$event_name}{msg:host:defer}}
70            acl = ev_msg_log "host deferral" \
71                         "errno <$event_defer_errno> errstr <$event_data>"
72
73     accept condition = ${if eq {$event_name}{msg:rcpt:defer}}
74            set acl_m_ev_lkup =  ${eval:$event_defer_errno & 0xff}
75            set acl_m_ev_lkup =  ${if = {$acl_m_ev_lkup}{65} {A} \
76                                 { ${if = {$acl_m_ev_lkup}{77} {MX} \
77                                   {$acl_m_ev_lkup}}}}
78            set acl_m_ev_code =  4${eval:$event_defer_errno >>8}
79            acl = ev_msg_log "rcpt deferral" \
80                         "err <$event_defer_errno>:<$acl_m_ev_lkup:$acl_m_ev_code> \
81                         errstr <$event_data>"
82
83 logger:
84     warn   logwrite = event $event_name
85     accept condition = ${if eq {tcp} {${listextract{1}{$event_name}}}}
86            acl = ev_tcp
87     accept condition = ${if eq {smtp} {${listextract{1}{$event_name}}}}
88            acl = ev_smtp
89     accept condition = ${if eq {msg} {${listextract{1}{$event_name}}}}
90            acl = ev_msg
91
92
93 # ----- Routers -----
94
95 begin routers
96
97 dump_bounces:
98   driver = redirect
99   senders = :
100   data = :blackhole:
101
102 others:
103   driver = manualroute
104   route_list = * 127.0.0.1 byname
105   self = send
106   transport = smtp
107   errors_to = ""
108   no_more
109
110
111 # ----- Transports -----
112
113 begin transports
114
115 smtp:
116   driver = smtp
117   port = PORT_S
118   command_timeout = 1s
119   final_timeout = 1s
120   event_action =   ${acl {logger}}
121
122 # End