#!/usr/bin/perl -T
use
SATest; sa_t_init(
"freemail"
);
plan
tests
=> 23;
tstprefs ("
freemail_domains gmail.com
");
tstlocalrules (
q{
freemail_import_welcomelist_auth 0
welcomelist_auth test@gmail.com
header FREEMAIL_FROM eval:check_freemail_from()
score FREEMAIL_FROM 3.3
header FREEMAIL_REPLYXX eval:check_freemail_replyto('reply')
score FREEMAIL_REPLYXX 3.3
header FREEMAIL_REPLYTO eval:check_freemail_replyto('replyto')
score FREEMAIL_REPLYTO 3.3
header FREEMAIL_REPLYXX eval:check_freemail_replyto('reply')
score FREEMAIL_REPLYXX 3.3
header FREEMAIL_ENVFROM_END_DIGIT eval:check_freemail_header('EnvelopeFrom', '\d@')
score FREEMAIL_ENVFROM_END_DIGIT 3.3
header FREEMAIL_REPLYTO_END_DIGIT eval:check_freemail_header('Reply-To', '\d@')
score FREEMAIL_REPLYTO_END_DIGIT 3.3
header FREEMAIL_HDR_REPLYTO eval:check_freemail_header('Reply-To')
score FREEMAIL_HDR_REPLYTO 3.3
}
);
%patterns
= (
q{ 3.3 FREEMAIL_FROM }
,
''
,
);
%anti_patterns
= (
q{ FREEMAIL_REPLYTO }
,
''
,
q{ FREEMAIL_REPLYXX }
,
''
,
q{ FREEMAIL_ENVFROM_END_DIGIT }
,
''
,
q{ FREEMAIL_REPLYTO_END_DIGIT }
,
''
,
q{ FREEMAIL_HDR_REPLYTO }
,
''
,
);
ok sarun (
"-L -t < data/spam/relayUS.eml"
, \
&patterns_run_cb
);
ok_all_patterns();
clear_pattern_counters();
%patterns
= ();
%anti_patterns
= (
q{ FREEMAIL_FROM }
,
''
,
);
tstlocalrules (
q{
freemail_import_welcomelist_auth 1
welcomelist_auth test@gmail.com
header FREEMAIL_FROM eval:check_freemail_from()
score FREEMAIL_FROM 3.3
}
);
ok sarun (
"-L -t < data/spam/relayUS.eml"
, \
&patterns_run_cb
);
ok_all_patterns();
%patterns
= (
q{ 3.3 FREEMAIL_FROM }
,
''
,
q{ 3.3 FREEMAIL_REPLYTO }
,
''
,
q{ 3.3 FREEMAIL_REPLYXX }
,
''
,
q{ 3.3 FREEMAIL_ENVFROM_END_DIGIT }
,
''
,
q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }
,
''
,
q{ 3.3 FREEMAIL_HDR_REPLYTO }
,
''
,
);
%anti_patterns
= ();
tstlocalrules (
q{
header FREEMAIL_FROM eval:check_freemail_from()
score FREEMAIL_FROM 3.3
header FREEMAIL_REPLYTO eval:check_freemail_replyto('replyto')
score FREEMAIL_REPLYTO 3.3
header FREEMAIL_REPLYXX eval:check_freemail_replyto('reply')
score FREEMAIL_REPLYXX 3.3
header FREEMAIL_ENVFROM_END_DIGIT eval:check_freemail_header('EnvelopeFrom', '\d@')
score FREEMAIL_ENVFROM_END_DIGIT 3.3
header FREEMAIL_REPLYTO_END_DIGIT eval:check_freemail_header('Reply-To', '\d@')
score FREEMAIL_REPLYTO_END_DIGIT 3.3
header FREEMAIL_HDR_REPLYTO eval:check_freemail_header('Reply-To')
score FREEMAIL_HDR_REPLYTO 3.3
}
);
ok sarun (
"-L -t < data/spam/freemail1"
, \
&patterns_run_cb
);
ok_all_patterns();
%patterns
= (
q{ 3.3 FREEMAIL_REPLYTO }
,
''
,
q{ 3.3 FREEMAIL_REPLYXX }
,
''
,
q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }
,
''
,
q{ 3.3 FREEMAIL_HDR_REPLYTO }
,
''
,
);
%anti_patterns
= ();
tstlocalrules (
q{
header FREEMAIL_REPLYTO eval:check_freemail_replyto('replyto')
score FREEMAIL_REPLYTO 3.3
header FREEMAIL_REPLYXX eval:check_freemail_replyto('reply')
score FREEMAIL_REPLYXX 3.3
header FREEMAIL_REPLYTO_END_DIGIT eval:check_freemail_header('Reply-To', '\d@')
score FREEMAIL_REPLYTO_END_DIGIT 3.3
header FREEMAIL_HDR_REPLYTO eval:check_freemail_header('Reply-To')
score FREEMAIL_HDR_REPLYTO 3.3
}
);
ok sarun (
"-L -t < data/spam/freemail2"
, \
&patterns_run_cb
);
ok_all_patterns();
%patterns
= (
q{ 3.3 FREEMAIL_REPLYXX }
,
''
,
);
%anti_patterns
= ();
tstlocalrules (
q{
header FREEMAIL_REPLYXX eval:check_freemail_replyto('reply')
score FREEMAIL_REPLYXX 3.3
}
);
ok sarun (
"-L -t < data/spam/freemail3"
, \
&patterns_run_cb
);
ok_all_patterns();