mirror of
https://git.proxmox.com/git/proxmox-spamassassin
synced 2025-08-16 12:58:25 +00:00
70 lines
1.9 KiB
Raku
Executable File
70 lines
1.9 KiB
Raku
Executable File
#!/usr/bin/perl -T
|
|
# bug 4179
|
|
|
|
use lib '.'; use lib 't';
|
|
use SATest; sa_t_init("spamd_whitelist_leak");
|
|
|
|
use Test::More;
|
|
plan skip_all => 'Spamd tests disabled.' if $SKIP_SPAMD_TESTS;
|
|
plan tests => 8;
|
|
|
|
# ---------------------------------------------------------------------------
|
|
tstpre ("
|
|
loadplugin Mail::SpamAssassin::Plugin::AWL
|
|
");
|
|
|
|
# bug 6003
|
|
|
|
disable_compat "welcomelist_blocklist";
|
|
|
|
tstlocalrules (q{
|
|
header USER_IN_WELCOMELIST eval:check_from_in_welcomelist()
|
|
tflags USER_IN_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
|
|
body MYBODY /LOSE WEIGHT/
|
|
score MYBODY 99
|
|
});
|
|
|
|
rmtree ("$workdir/virtualconfig/testuser1", 0, 1);
|
|
mkpath ("$workdir/virtualconfig/testuser1", 0, 0755);
|
|
rmtree ("$workdir/virtualconfig/testuser2", 0, 1);
|
|
mkpath ("$workdir/virtualconfig/testuser2", 0, 0755);
|
|
open (OUT, ">$workdir/virtualconfig/testuser1/user_prefs");
|
|
print OUT q{
|
|
whitelist_from sb55sb123456789@yahoo.com
|
|
whitelist_from_rcvd sb55sb123456789@yahoo.com cgocable.ca
|
|
whitelist_from_rcvd sb55sb123456789@yahoo.com webnote.net
|
|
};
|
|
close OUT;
|
|
open (OUT, ">$workdir/virtualconfig/testuser2/user_prefs");
|
|
print OUT '';
|
|
close OUT;
|
|
|
|
%patterns = (
|
|
q{ 99 MYBODY }, '',
|
|
q{ -100 USER_IN_WHITELIST }, '',
|
|
);
|
|
%anti_patterns = (
|
|
);
|
|
|
|
# use -m1 so all scans use the same child
|
|
ok (start_spamd ("--virtual-config-dir=$workdir/virtualconfig/%u -L -u $spamd_run_as_user -m1"));
|
|
ok (spamcrun ("-u testuser1 < data/spam/001", \&patterns_run_cb));
|
|
ok_all_patterns();
|
|
clear_pattern_counters();
|
|
|
|
%patterns = (
|
|
q{ 99 MYBODY }, '',
|
|
);
|
|
%anti_patterns = (
|
|
q{ -100 USER_IN_WHITELIST }, '',
|
|
);
|
|
ok (spamcrun ("-u testuser2 < data/spam/001", \&patterns_run_cb));
|
|
checkfile ($spamd_stderr, \&patterns_run_cb);
|
|
ok_all_patterns();
|
|
ok stop_spamd();
|
|
|