Testsuite: move dsearch-dependent testcase
[exim.git] / test / confs / 0023
CommitLineData
afda344b
PH
1# Exim test configuration 0023
2
3LOG_SELECTOR=
4
d4dc049f
JH
5.include DIR/aux-var/std_conf_prefix
6
afda344b 7primary_hostname = myhost.test.ex
afda344b
PH
8
9# ----- Main settings -----
10
7da3cb7c
JH
11disable_ipv6 = true
12
afda344b
PH
13addresslist ok_senders = ok@ok.ok
14
15domainlist local_domains = test.ex : *.test.ex
16domainlist relay_domains = relay.test.ex
17
18hostlist ok9_hosts = 9.9.9.9
19
20LOG_SELECTOR
21
22qualify_domain = test.ex
23trusted_users = CALLER
24
25# Use first three components of address to select ACL
26acl_smtp_rcpt = acl_${sg{${tr{$sender_host_address}{.}{_}}}{^(.*)_.*\$}{\$1}}
27acl_smtp_data = data_acl
28
29# ----- ACLs -----
30
31begin acl
32
33data_acl:
34 warn condition = ${if def:h_x-rcpt-added:{yes}{no}}
35 message = X-data-added: Header added at data time
36 warn senders = rcpttest@test.ex
37 message = X-data-rcpt-count: $rcpt_count\n\
38 X-data-rcpt-defer-count: $rcpt_defer_count\n\
39 X-data-rcpt-fail-count: $rcpt_fail_count
40 warn message = X-message-body-size: $message_body_size
41 accept
42
43acl_1_2_3:
44 require domains = !nopass
45
46 require message = $local_part@$domain shall not pass
47 domains = !wontpass
48
49 deny message = domain explicitly denied
50 log_message = DOMAIN EXPLICITLY DENIED
c3611384 51 continue = this value is not used
afda344b
PH
52 domains = deny.test.ex
53
54 accept domains = +local_domains
55 endpass
56 message = $domain gets refused
57 domains = !refuse.test.ex
58
59 # Double to check caching
60 accept domains = +relay_domains
61 accept domains = +relay_domains
62
63acl_5_6_7:
64 accept domains = lsearch;DIR/aux-fixed/TESTNUM.doms
65 local_parts = $domain_data
66
67acl_5_6_8:
68 accept senders = user1@domain1 : domain2 : +ok_senders
69
70acl_5_6_11:
71 accept condition = ${if match{$local_part}{^x}{yes}{no}}
72 deny message = "local part of wrong type\n(quotes are literal)
73
74acl_5_6_12:
75 accept hosts = 5.6.12.1
76 endpass
77 message = failed nested acl
78 acl = acl_5_6_12A
79 accept
80
81acl_5_6_12A:
82 accept domains = ok
83
84acl_5_6_13:
85 accept acl = DIR/aux-fixed/TESTNUM.acl1
86
87acl_8_8_8:
88 accept acl = acl_8_8_8
89
90acl_9_9_9:
91 accept hosts = +ok9_hosts
92 deny message = don't like this host
93 hosts = 9.9.9.0/26
94 accept hosts = 9.9.9.0/24
95
96acl_V4NET_0_0:
97 require verify = reverse_host_lookup
98 accept
7e8360e6
JH
99acl_V4NET_99_99:
100 accept local_parts = defer_ok
101 verify = reverse_host_lookup/defer_ok
102 accept verify = reverse_host_lookup
afda344b
PH
103
104acl_V4NET_11_12:
105 deny message = host in DNS list $dnslist_domain: $dnslist_text
106 log_message = DNSLIST ($dnslist_domain: $dnslist_text)
107 dnslists = rbl.test.ex
108 accept
109
110acl_20_20_20:
111 accept endpass
112 message = sender verify failure
113 verify = sender
114 message = recipient verify failure
115 verify = recipient
116
117acl_21_21_21:
118 accept
119 verify = sender
120 verify = recipient
121
122acl_22_22_22:
123 accept recipients = x@y
124
125acl_23_23_23:
126 deny hosts = 23.23.23.0
127 message = sender must verify
128 !verify = sender
129 accept
130
131acl_24_24_24:
132 warn message = X-Warn: sender didn't verify
133 condition = yes
134
135acl_25_25_25:
136 deny message = denying domains=x
137 domains = x
138
139acl_26_26_26:
140 deny senders = :
141 message = bounce messages can have only one recipient
142 condition = ${if > {$recipients_count}{0}{yes}{no}}
143 accept
144
145# Force host list expansion failure
146acl_27_27_27:
147 deny hosts = ${if eq {1}{0}{}fail}
148 accept
149
150acl_28_28_28:
151 accept sender_domains = : okdomain
152
153acl_29_29_29:
154 deny dnslists = test.ex/$sender_address_domain
155 accept
156
157acl_30_30_30:
158 deny message = domain=$dnslist_domain\n\
159 value=$dnslist_value\n\
93655c46 160 matched=$dnslist_matched\n\
afda344b
PH
161 text="$dnslist_text"
162 dnslists = test.ex=V4NET.0.0.1,127.0.0.2/$sender_address_domain
163 accept
164
165# This one tests what happens when a lookup key gets too long
166acl_31_31_31:
167 deny dnslists = test.ex/$sender_address_domain+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+END
168 accept
169
170# Settings of $domain and $local_part
171acl_32_32_32:
172 warn message = Start: domain=$domain local_part=$local_part
173
174 warn local_parts = userx-vs
175 message = Vs: domain=$domain local_part=$local_part
176 verify = sender
177
178 warn message = Vr: domain=$domain local_part=$local_part
179 verify = recipient
180
181 accept
182
183acl_33_33_33:
184 accept endpass
185 message = sender verify failure
186 verify = sender/no_details
187 message = recipient verify failure
188 verify = recipient
189
190# Incomplete DNS lookups
191acl_44_44_44:
192 warn dnslists = test.again.dns
193 warn dnslists = +include_unknown : test.again.dns
194 warn dnslists = +exclude_unknown : test.again.dns
195 warn dnslists = +defer_unknown : test.again.dns
196 accept
197
198# Adding header at RCPT time and testing at DATA time
199acl_55_55_55:
200 warn message = X-rcpt-added: An added header at RCPT time
201 accept
202
203acl_56_56_56:
204 warn message = X-Warn: $local_part
205 condition = ${substr_5:$local_part}
206 accept
207
208acl_56_56_57:
4e88a19f 209 accept message = accepted by condition
afda344b
PH
210 condition = ${substr_5:$local_part}
211
212acl_56_56_58:
213 warn message = xx: rcpt_count = $rcpt_count\n \
214 rcpt_defer_count = $rcpt_defer_count\n \
215 rcpt_fail_count = $rcpt_fail_count\n \
216 recipients_count = $recipients_count\n \
217 local_part = $local_part
218 accept local_parts = ^ok
219
220acl_56_56_59:
221 accept message = ACL message for verification failure\n \
222 Original was >$acl_verify_message<
223 verify = recipient
224
0b26748a
PH
225acl_60_60_60:
226 accept !acl = DIR/aux-fixed/0023.acl2
227
afda344b
PH
228
229# ----- Transports -----
230
231begin transports
232
233t1:
234 driver = appendfile
0d2e392e 235 file = DIR/test-mail/${bless:$local_part}
afda344b
PH
236 user = CALLER
237
238t2:
239 driver = appendfile
240 file = DIR/test-mail/okbatch
241 user = CALLER
242 batch_max = 100
243 envelope_to_add
244
245# ----- Routers -----
246
247begin routers
248
249r0:
250 driver = accept
251 local_parts = ^ok
252 transport = t2
253
254r1:
255 driver = accept
256 local_parts = ^userx : ^cond-
257 transport = t1
258
259r2:
260 driver = redirect
261 local_parts = fail
262 allow_fail
263 data = :fail: here is a fail message
264
265# ----- Retry -----
266
267begin retry
268
269* * F,5d,5m
270
271# End