-
Notifications
You must be signed in to change notification settings - Fork 70
/
whitelist_from.t
executable file
·99 lines (81 loc) · 2.99 KB
/
whitelist_from.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/usr/bin/perl -T
use lib '.'; use lib 't';
use SATest; sa_t_init("whitelist_from");
use Test::More;
plan skip_all => 'Long running tests disabled' unless conf_bool('run_long_tests');
plan tests => 32;
# ---------------------------------------------------------------------------
disable_compat "welcomelist_blocklist";
tstprefs ("
header USER_IN_WELCOMELIST eval:check_from_in_welcomelist()
tflags USER_IN_WELCOMELIST userconf nice noautolearn
header USER_IN_DEF_WELCOMELIST eval:check_from_in_default_welcomelist()
tflags USER_IN_DEF_WELCOMELIST userconf nice noautolearn
meta USER_IN_WHITELIST (USER_IN_WELCOMELIST)
tflags USER_IN_WHITELIST userconf nice noautolearn
score USER_IN_WHITELIST -100
score USER_IN_WELCOMELIST -0.01
meta USER_IN_DEF_WHITELIST (USER_IN_DEF_WELCOMELIST)
tflags USER_IN_DEF_WHITELIST userconf nice noautolearn
score USER_IN_DEF_WHITELIST -15
score USER_IN_DEF_WELCOMELIST -0.01
def_whitelist_from_rcvd *\@paypal.com paypal.com
def_whitelist_from_rcvd *\@paypal.com ebay.com
def_whitelist_from_rcvd mumble\@example.com example.com
whitelist_from_rcvd foo\@example.com spamassassin.org
whitelist_from_rcvd foo\@example.com example.com
whitelist_from_rcvd bar\@example.com example.com
whitelist_allows_relays bar\@example.com
whitelist_from baz\@example.com
whitelist_from bam\@example.com
unwhitelist_from bam\@example.com
unwhitelist_from_rcvd mumble\@example.com
");
# tests 1 - 4 does whitelist_from work?
%patterns = (
q{ -100 USER_IN_WHITELIST }, '',
);
%anti_patterns = (
q{ FORGED_IN_WHITELIST }, '',
q{ USER_IN_DEF_WHITELIST }, '',
q{ FORGED_IN_DEF_WHITELIST }, '',
);
sarun ("-L -t < data/nice/008", \&patterns_run_cb);
ok_all_patterns();
# tests 5 - 8 does whitelist_from_rcvd work?
sarun ("-L -t < data/nice/009", \&patterns_run_cb);
ok_all_patterns();
# tests 9 - 12 second relay specified for same addr in whitelist_from_rcvd
sarun ("-L -t < data/nice/010", \&patterns_run_cb);
ok_all_patterns();
%patterns = (
q{ -15 USER_IN_DEF_WHITELIST }, '',
);
%anti_patterns = (
q{ USER_IN_WHITELIST }, '',
q{ FORGED_IN_WHITELIST }, '',
q{ FORGED_IN_DEF_WHITELIST }, '',
);
# tests 13 - 16 does def_whitelist_from_rcvd work?
sarun ("-L -t < data/nice/011", \&patterns_run_cb);
ok_all_patterns();
# tests 17 - 20 second relay specified for same addr in def_whitelist_from_rcvd
sarun ("-L -t < data/nice/012", \&patterns_run_cb);
ok_all_patterns();
%patterns = ();
%anti_patterns = (
q{ USER_IN_WHITELIST }, '',
q{ FORGED_IN_WHITELIST }, '',
q{ USER_IN_DEF_WHITELIST }, '',
q{ FORGED_IN_DEF_WHITELIST }, '',
);
# tests 21 - 24 does whitelist_allows_relays suppress the forged rule without
# putting the address on the whitelist?
sarun ("-L -t < data/nice/013", \&patterns_run_cb);
ok_all_patterns();
# tests 25 - 28 does unwhitelist_from work?
sarun ("-L -t < data/nice/014", \&patterns_run_cb);
ok_all_patterns();
# tests 29 - 32 does unwhitelist_from_rcvd work?
sarun ("-L -t < data/nice/015", \&patterns_run_cb);
ok_all_patterns();