Testsuite: SPF testcases. Bug 1789
[exim.git] / test / stdout / 0427
1 ==========
2 # Sieve filter
3 if address ["From","To"] "marian@abcdefgh.example"
4 { discard; }
5 ==========
6 No implicit keep
7 ==========
8 # Sieve filter
9 if address :is "From" "marian@abcdefgh.example"
10 { discard; }
11 ==========
12 Implicit keep
13 ==========
14 # Sieve filter
15 if address :is "To" "marian@abcdefgh.example"
16 { discard; }
17 ==========
18 No implicit keep
19 ==========
20 # Sieve filter
21 if address :contains "To" "abcdefgh"
22 { discard; }
23 ==========
24 No implicit keep
25 ==========
26 # Sieve filter
27 if address :matches "To" "*abc?efgh*"
28 { discard; }
29 ==========
30 No implicit keep
31 ==========
32 # Sieve filter
33 if true { discard; }
34 ==========
35 No implicit keep
36 ==========
37 # Sieve filter
38 if false { discard; }
39 ==========
40 Implicit keep
41 ==========
42 # Sieve filter
43 if allof (false,false) { discard; }
44 ==========
45 Implicit keep
46 ==========
47 # Sieve filter
48 if allof (true,false) { discard; }
49 ==========
50 Implicit keep
51 ==========
52 # Sieve filter
53 if allof (false,true) { discard; }
54 ==========
55 Implicit keep
56 ==========
57 # Sieve filter
58 if allof (true,true) { discard; }
59 ==========
60 No implicit keep
61 ==========
62 # Sieve filter
63 if anyof (false,false) { discard; }
64 ==========
65 Implicit keep
66 ==========
67 # Sieve filter
68 if anyof (true,false) { discard; }
69 ==========
70 No implicit keep
71 ==========
72 # Sieve filter
73 if anyof (false,true) { discard; }
74 ==========
75 No implicit keep
76 ==========
77 # Sieve filter
78 if anyof (true,true) { discard; }
79 ==========
80 No implicit keep
81 ==========
82 # Sieve filter
83 if not anyof (false,false) { discard; }
84 ==========
85 No implicit keep
86 ==========
87 # Sieve filter
88 if not anyof (true,false) { discard; }
89 ==========
90 Implicit keep
91 ==========
92 # Sieve filter
93 if not anyof (false,true) { discard; }
94 ==========
95 Implicit keep
96 ==========
97 # Sieve filter
98 if not anyof (true,true) { discard; }
99 ==========
100 Implicit keep
101 ==========
102 # Sieve filter
103 if header "to" "MARIAN@abcdefgh.example" { discard; }
104 ==========
105 No implicit keep
106 ==========
107 # Sieve filter
108 if header :comparator "i;octet" "to" "MARIAN@abcdefgh.example" { discard; }
109 ==========
110 Implicit keep
111 ==========
112 # Sieve filter
113 if header :comparator "i;ascii-casemap" "to" "MARIAN@abcdefgh.example" { discard; }
114 ==========
115 No implicit keep
116 ==========
117 # Sieve filter
118 require "envelope";
119 if envelope "from" "marian@somenet.example" { discard; }
120 ==========
121 Implicit keep
122 ==========
123 # Sieve filter
124 require "envelope";
125 if envelope "from" "offerqn@bpk.example.com" { discard; }
126 ==========
127 No implicit keep
128 ==========
129 # Sieve filter
130 if exists [ "X-NotHere", "X-Notheretoo" ] { discard; }
131 ==========
132 Implicit keep
133 ==========
134 # Sieve filter
135 if exists [ "X-NotHere", "Delivered-To" ] { discard; }
136 ==========
137 Implicit keep
138 ==========
139 # Sieve filter
140 if exists [ "From", "Delivered-To" ] { discard; }
141 ==========
142 No implicit keep
143 ==========
144 # Sieve filter
145 if header :contains "X-NotHere" "" { discard; }
146 ==========
147 Implicit keep
148 ==========
149 # Sieve filter
150 if header "Delivered-To" "" { discard; }
151 ==========
152 Implicit keep
153 ==========
154 # Sieve filter
155 if header :contains "Delivered-To" "" { discard; }
156 ==========
157 No implicit keep
158 ==========
159 # Sieve filter
160 if header :contains "Delivered-To" "rc@irc.somenet.example" { discard; }
161 ==========
162 No implicit keep
163 ==========
164 # Sieve filter
165 if header "Delivered-To" ["irc@irc.somenet.example"] { discard; }
166 ==========
167 Implicit keep
168 ==========
169 # Sieve filter
170 if header "Delivered-To" ["irc@irc.somenet.example","irc@01019somenet.example","some.one"] { discard; }
171 ==========
172 Implicit keep
173 ==========
174 # Sieve filter
175 if header "Mime-Version" "1.0" { discard; }
176 ==========
177 No implicit keep
178 ==========
179 # Sieve filter
180 if false { discard; }
181 ==========
182 Implicit keep
183 ==========
184 # Sieve filter
185 if true { discard; }
186 ==========
187 No implicit keep
188 ==========
189 # Sieve filter
190 if true { discard; } else { keep; }
191 ==========
192 No implicit keep
193 ==========
194 # Sieve filter
195 if false { keep; } else { discard; }
196 ==========
197 No implicit keep
198 ==========
199 # Sieve filter
200 if false { keep; } elsif true { discard; } else { keep; }
201 ==========
202 No implicit keep
203 ==========
204 # Sieve filter
205 if true { discard; } elsif true { keep; } else { keep; }
206 ==========
207 No implicit keep
208 ==========
209 # Sieve filter
210 if false { keep; }
211 else
212 { if true { discard; } else { keep; } }
213 ==========
214 No implicit keep
215 ==========
216 # Sieve filter
217 if header :matches "to" "MA*AN@abc*fg?.example" { discard; }
218 ==========
219 No implicit keep
220 ==========
221 # Sieve filter
222 if not header :matches "to" "MA?AN@abc*fg?.example" { discard; }
223 ==========
224 No implicit keep
225 ==========
226 # Sieve filter
227 if header :matches "to" "*marian@abcdefgh.example" { discard; }
228 ==========
229 No implicit keep
230 ==========
231 # Sieve filter
232 if not header :matches "to" "?marian@abcdefgh.example" { discard; }
233 ==========
234 No implicit keep
235 ==========
236 # Sieve filter
237 if header :matches "to" "marian@abcdefgh.example*" { discard; }
238 ==========
239 No implicit keep
240 ==========
241 # Sieve filter
242 if not header :matches "to" "marian@abcdefgh.example?" { discard; }
243 ==========
244 No implicit keep
245 ==========
246 # Sieve filter
247 if header :matches "x-special1" "\\?*\\*" { discard; }
248 ==========
249 No implicit keep
250 ==========
251 # Sieve filter
252 if header :matches "x-special1" "*\0*" { discard; }
253 ==========
254 Implicit keep
255 ==========
256 # Sieve filter
257 if not header :matches "x-special1" "*\0*q" { discard; }
258 ==========
259 No implicit keep
260 ==========
261 # Sieve filter
262 require "encoded-character";
263 if not header :matches "x-special1" "*${hex:00}*" { discard; }
264 ==========
265 Implicit keep
266 ==========
267 # Sieve filter
268 if not header :matches "x-special2" "\\?*\\*" { discard; }
269 ==========
270 No implicit keep
271 ==========
272 # Sieve filter
273 if not header :matches "x-special2" "*\0*" { discard; }
274 ==========
275 No implicit keep
276 ==========
277 # Sieve filter
278 if size :over 400 {
279 discard;
280 }
281 ==========
282 No implicit keep
283 ==========
284 # Sieve filter
285 if size :over 4K {
286 discard;
287 }
288 ==========
289 Implicit keep
290 ==========
291 # Sieve filter
292 if size :under 4K { discard; }
293 ==========
294 No implicit keep
295 ==========
296 # Sieve filter
297 if size :under 400 { discard; }
298 ==========
299 Implicit keep
300 ==========
301 # Sieve filter
302 if false { keep; }
303 ==========
304 Implicit keep
305 ==========
306 # no filter line here
307 if unknowntest { keep; }
308 ==========
309 Testing forward file file "test-data"
310
311 exim: error in forward file: missing or malformed local part (expected word or "<") in "if unknowntest { keep; }"
312 ==========
313 # Sieve filter
314 if test keep; }
315 ==========
316 Sieve error: missing test in line 2
317 ==========
318 # Sieve filter
319 if test { keep;
320 ==========
321 Sieve error: missing test in line 2
322 ==========
323 # Sieve filter
324 if true { unknownaction; }
325 ==========
326 Sieve error: expecting command or closing brace in line 2
327 ==========
328 # Sieve filter
329 if true { fileinto abcdefgh; }
330 ==========
331 Sieve error: missing previous require "fileinto"; in line 2
332 ==========
333 # Sieve filter
334 require "fileinto";
335 if true { fileinto "abcdefgh"; }
336 ==========
337 No implicit keep
338 ==========
339 # Sieve filter
340 if header ["to"] [ "marian@abcdefgh.example", "achnee"] { discard; }
341 ==========
342 No implicit keep
343 ==========
344 # Sieve filter
345 if header "to" [ "egal", "achnee" { keep; }
346 ==========
347 Sieve error: missing string list in line 2
348 ==========
349 # Sieve filter
350 if header "to","from"] "egal" { keep; }
351 ==========
352 Sieve error: key string list expected in line 2
353 ==========
354 # Sieve filter
355 if header ["to","from" "egal" { keep; }
356 ==========
357 Sieve error: missing string list in line 2
358 ==========
359 # Sieve filter
360 if header ["to",,"from"] "egal" { keep; }
361 ==========
362 Sieve error: missing string list in line 2
363 ==========
364 # Sieve filter
365 if header ["to",] "egal" { keep; }
366 ==========
367 Sieve error: missing string list in line 2
368 ==========
369 # Sieve filter
370 if header [,"to"] "egal" { keep; }
371 ==========
372 Sieve error: missing string list in line 2
373 ==========
374 # Sieve filter
375 if unknowntest { keep; }
376 ==========
377 Sieve error: missing test in line 2
378 ==========
379 # Sieve filter
380 if header :matches "to" "egal" { keep; }
381 ==========
382 Implicit keep
383 ==========
384 # Sieve filter
385 if header :unknown "to" "egal" { keep; }
386 ==========
387 Sieve error: header string list expected in line 2
388 ==========
389 # Sieve filter
390 #
391 require ["fileinto", "envelope"];
392
393 if header :matches "X-Warning" "* is listed at list.dsbl.org*"
394 {
395 keep; # keep in "In" folder
396 }
397 ==========
398 No implicit keep
399 ==========
400 # Sieve filter
401 if header "x-1" "1" { discard; }
402 ==========
403 No implicit keep
404 ==========
405 # Sieve filter
406 if not header "x-1" "=?ISO-8859-1?Q?=31?=" { discard; }
407 ==========
408 No implicit keep
409 ==========
410 # Sieve filter
411 if header "x-1b" "=?ISO-8859-1?Q?=31=" { discard; }
412 ==========
413 No implicit keep
414 ==========
415 # Sieve filter
416 if header "x-b64" "This is BASE64" { discard; }
417 ==========
418 No implicit keep
419 ==========
420 # Sieve filter
421 if header "x-b64-broken" "=?iso-8859-1?b?VGhpcyBpcyBCQVNFNjQ?=" { discard; }
422 ==========
423 No implicit keep
424 ==========
425 # Sieve filter
426 if header "x-q75total" "0123456789012345678901234567890123456789012345678901234567" { discard; }
427 ==========
428 No implicit keep
429 ==========
430 # Sieve filter
431 if header "x-q76total" "=?ISO-8859-1?Q?01234567890123456789012345678901234567890123456789012345678?=" { discard; }
432 ==========
433 No implicit keep
434 ==========
435 # Sieve filter
436 if header "X-Wrapped" "eins zwei drei" { discard; }
437 ==========
438 No implicit keep
439 ==========
440 # Sieve filter
441 if header "x-nomimewrap" "=?iso-8859-1?q?abc def ghi?=" { discard; }
442 ==========
443 No implicit keep
444 ==========
445 # Sieve filter
446 if header "subject" "abcdefghi" { discard; }
447 ==========
448 No implicit keep
449 ==========
450 # Sieve filter
451 if header "x-mixed" "abc def" { discard; }
452 ==========
453 No implicit keep
454 ==========
455 #Sieve filter
456 if true { stop; fileinto "inbox.never"; }
457 ==========
458 Implicit keep