line |
true |
false |
branch |
224
|
0 |
1265 |
unless (defined $value and not $value =~ /^$/ and scalar @scores == 1 || scalar @scores == 4)
|
234
|
9 |
1832 |
if (s/^\((-?\d+(?:\.\d+)?)\)$/$1/)
|
237
|
0 |
1841 |
unless (/^-?\d+(?:\.\d+)?$/)
|
244
|
0 |
1265 |
if ($relative and not exists $self->{'scoreset'}[0]{$rule})
|
251
|
1265 |
0 |
if (@scores)
|
252
|
1073 |
192 |
if (@scores != 4)
|
259
|
12 |
5048 |
$relative ? :
|
398
|
0 |
0 |
unless (defined $value and not $value =~ /^$/)
|
401
|
0 |
0 |
unless ($value =~ /^\S+\s+\S+$/)
|
414
|
0 |
0 |
unless (defined $value and not $value =~ /^$/)
|
417
|
0 |
0 |
unless ($value =~ /^\S+\s+\S+$/)
|
480
|
0 |
0 |
unless (defined $value and not $value =~ /^$/)
|
483
|
0 |
0 |
unless ($value =~ /^(?:\S+(?:\s+\S+)*)$/)
|
694
|
0 |
0 |
unless ($value =~ /^ \( (.*?) \) \s+ (.*) \z/sx)
|
701
|
0 |
0 |
$host =~ s/^!// ? :
|
732
|
0 |
0 |
unless ($value =~ /^ (?: \( (.*?) \) \s+ )? (.*) \z/sx)
|
735
|
0 |
0 |
defined $1 ? :
|
739
|
0 |
0 |
$host =~ s/^!// ? :
|
788
|
0 |
0 |
unless ($value =~ /^ \( (.*?) \) \s+ (.*) \z/sx)
|
813
|
0 |
0 |
$host =~ s/^!// ? :
|
834
|
0 |
0 |
$host =~ s/^!// ? :
|
878
|
0 |
0 |
if ($hdr =~ /^$/) { }
|
|
0 |
0 |
elsif ($hdr =~ /^(?:From|Subject|To)$/) { }
|
883
|
0 |
0 |
unless (defined $string and $string =~ /\S/)
|
888
|
0 |
0 |
if ($hdr ne 'Subject')
|
947
|
0 |
316 |
unless ($value =~ /^(ham|spam|all)\s+([A-Za-z0-9_-]+)\s+(.*?)\s*$/)
|
952
|
63 |
253 |
if ($hline =~ /^"(.*)"$/)
|
966
|
253 |
63 |
if ($type eq 'ham' or $type eq 'all')
|
971
|
316 |
0 |
if ($type eq 'spam' or $type eq 'all')
|
999
|
0 |
0 |
unless ($value =~ /^(ham|spam|all)\s+([A-Za-z0-9_-]+)\s*$/)
|
1004
|
0 |
0 |
if $name eq 'Checker-Version'
|
1007
|
0 |
0 |
if ($type eq 'ham' or $type eq 'all')
|
1011
|
0 |
0 |
if ($type eq 'spam' or $type eq 'all')
|
1041
|
0 |
63 |
unless (not defined $value or $value eq '')
|
1046
|
0 |
63 |
!@h ? :
|
1047
|
0 |
63 |
!@h ? :
|
1083
|
0 |
63 |
if ($value eq '') { }
|
|
0 |
63 |
elsif (not $value =~ /^[012]$/) { }
|
1091
|
0 |
63 |
if (not $self->{'report_safe'} || grep({lc $_->[0] eq 'report';} @{$$self{'headers_spam'};}))
|
1193
|
0 |
0 |
unless (defined $value and not $value =~ /^$/)
|
1196
|
0 |
0 |
if (lc $value eq 'yes' or $value eq '1') { }
|
|
0 |
0 |
elsif (lc $value eq 'no' or $value eq '0') { }
|
1202
|
0 |
0 |
unless ($] > 5.008004)
|
1209
|
0 |
0 |
unless (eval {
do {
'HTML::Parser'->VERSION(3.46)
}
})
|
1214
|
0 |
0 |
unless (eval 'require Encode')
|
1326
|
0 |
32 |
unless (not defined $value or $value eq '')
|
1380
|
0 |
32 |
unless (not defined $value or $value eq '')
|
1436
|
0 |
32 |
unless (not defined $value or $value eq '')
|
1465
|
0 |
126 |
unless (defined $value and not $value =~ /^$/)
|
1471
|
252 |
0 |
unless grep((lc $_ eq lc $hfname), @{$$self{'originating_ip_headers'};})
|
1487
|
0 |
63 |
unless (not defined $value or $value eq '')
|
1561
|
0 |
1 |
if ($value =~ /^test(?::\s*\S.*)?$/) { }
|
|
1 |
0 |
elsif ($value =~ /^(?:yes|1)$/) { }
|
|
0 |
0 |
elsif ($value =~ /^(?:no|0)$/) { }
|
1609
|
1 |
0 |
if ($value =~ /^(?: \[ ([^\]]*) \] | ([^:]*) ) : (\d+) \z/sx) { }
|
|
0 |
0 |
elsif ($value =~ /^(?: \[ ([^\]]*) \] |
([0-9A-F.:]+ (?: %[A-Z0-9._~-]* )? ) ) \z/six) { }
|
1610
|
1 |
0 |
defined $1 ? :
|
1613
|
0 |
0 |
defined $1 ? :
|
1618
|
0 |
1 |
if $address =~ s/ ( % [A-Z0-9._~-]* ) \z//six
|
1620
|
1 |
0 |
if ($address =~ /$IP_ADDRESS/ and $port >= 1 and $port <= 65535) { }
|
1621
|
1 |
0 |
unless $self->{'dns_servers'}
|
1642
|
0 |
1 |
unless (not defined $value or $value eq '')
|
1686
|
0 |
0 |
if ($range =~ /^(\d{1,5})\z/) { }
|
|
0 |
0 |
elsif ($range =~ /^(\d{1,5})-(\d{1,5})\z/) { }
|
1688
|
0 |
0 |
if ($1 < 1 or $1 > 65535)
|
1691
|
0 |
0 |
if ($1 < 1 or $1 > 65535)
|
1692
|
0 |
0 |
if ($2 < 1 or $2 > 65535)
|
1723
|
0 |
0 |
if ($range =~ /^(\d{1,5})\z/) { }
|
|
0 |
0 |
elsif ($range =~ /^(\d{1,5})-(\d{1,5})\z/) { }
|
1724
|
0 |
0 |
if ($1 > 65535)
|
1728
|
0 |
0 |
if ($1 > 65535 or $2 > 65535)
|
1766
|
0 |
0 |
unless (not defined $value or $value eq '')
|
1843
|
0 |
0 |
if ($option =~ /^no(rotate|dns0x20)\z/) { }
|
|
0 |
0 |
elsif ($option =~ /^no(edns)0?\z/) { }
|
|
0 |
0 |
elsif ($option =~ /^(rotate|dns0x20)\z/) { }
|
|
0 |
0 |
elsif ($option =~ /^(edns)0? (?: = (\d+) )? \z/x) { }
|
1859
|
0 |
0 |
if $self->{'dns_options'}{$1} < 512
|
1909
|
0 |
0 |
unless defined $value and $value =~ s/^(allow|deny)\s+//i
|
1911
|
0 |
0 |
lc $1 eq 'deny' ? :
|
1933
|
0 |
0 |
if defined $value and $value ne ''
|
2057
|
0 |
0 |
if $value eq ''
|
2061
|
0 |
0 |
if (/^(none|noall)\z/) { }
|
|
0 |
0 |
elsif ($_ eq 'all') { }
|
|
0 |
0 |
elsif (/^(no)?(.+)\z/s and exists $all_kw{$2}) { }
|
2066
|
0 |
0 |
defined $1 ? :
|
2094
|
0 |
0 |
if ($value eq '')
|
2411
|
0 |
0 |
unless ($value =~ /^(nfssafe|flock|win32)$/)
|
2456
|
0 |
0 |
if ($value eq '')
|
2708
|
0 |
0 |
if ($value eq '') { }
|
|
0 |
0 |
elsif (not $value =~ /^[01]$/) { }
|
2716
|
0 |
0 |
$self->{'allow_user_rules'} ? :
|
2739
|
0 |
441 |
if ($value eq '') { }
|
|
0 |
441 |
elsif (not $self->{'parser'}->is_delimited_regexp_valid('redirector_pattern', $value)) { }
|
2750
|
441 |
0 |
if $3
|
3005
|
2300 |
567 |
if ($value =~ /^(\S+)\s+(?:rbl)?eval:(.*)$/) { }
|
|
63 |
504 |
elsif ($value =~ /^(\S+)\s+exists:(.*)$/) { }
|
3008
|
0 |
2300 |
unless ($fn =~ /^\w+(\(.*\))?$/)
|
3011
|
1 |
2299 |
if ($fn =~ /^check_(?:rbl|dns)/) { }
|
3021
|
0 |
63 |
if (not $header_name =~ /\S/) { }
|
|
0 |
63 |
elsif (not $header_name =~ /^([^: \t]+)$/) { }
|
3033
|
0 |
504 |
if (@values != 2)
|
3067
|
85 |
234 |
if ($value =~ /^(\S+)\s+eval:(.*)$/) { }
|
3071
|
0 |
85 |
unless ($fn =~ /^\w+(\(.*\))?$/)
|
3078
|
0 |
234 |
if (@values != 2)
|
3111
|
0 |
63 |
if (@values != 2)
|
3142
|
0 |
0 |
if ($value =~ /^(\S+)\s+eval:(.*)$/) { }
|
3146
|
0 |
0 |
if (@values != 2)
|
3176
|
248 |
0 |
if ($value =~ /^(\S+)\s+eval:(.*)$/) { }
|
3180
|
0 |
0 |
if (@values != 2)
|
3229
|
0 |
72 |
if (@values != 2)
|
3232
|
0 |
72 |
if ($values[1] =~ /\*\s*\*/)
|
3261
|
0 |
0 |
unless ($value =~ /\s*(\w+)(?:\s+(?:\w+(?:\s+\w+)*))?\s*$/)
|
3266
|
0 |
0 |
if (not exists $self->{'tests'}{$rule_name})
|
3433
|
0 |
0 |
if ($value eq '')
|
3439
|
0 |
0 |
if ($_ eq $tag)
|
3441
|
0 |
0 |
if $tag
|
3460
|
1827 |
0 |
unless defined $COLLECT_REGRESSION_TESTS
|
3463
|
0 |
0 |
unless ($value =~ /^(\S+)\s+(ok|fail)\s+(.*)$/)
|
3506
|
0 |
1 |
unless (defined $value and not $value =~ /^$/)
|
3510
|
0 |
1 |
unless ($value =~ /^ ( \+? \d+ (?: \. \d*)? [smhdw]? )
(?: \s+ ( \+? \d+ (?: \. \d*)? [smhdw]? ) )?
(?: \s+ (\S* [a-zA-Z]) )? $/six)
|
3517
|
0 |
2 |
if (defined $_ and s/\s*([smhdw])\z//i)
|
3522
|
1 |
0 |
if (not defined $zone) { }
|
3524
|
0 |
1 |
if defined $timeout_min
|
3531
|
0 |
0 |
if defined $timeout_min
|
3610
|
0 |
8568 |
unless (defined $value and not $value =~ /^$/)
|
3613
|
0 |
8568 |
unless ($value =~ /^[^\s.]+(?:\s+[^\s.]+)*$/)
|
3804
|
0 |
28918 |
unless (defined $value and not $value =~ /^$/)
|
3807
|
0 |
28918 |
unless ($value =~ /^[^\s.]+\.[^\s.]+(?:\s+[^\s.]+\.[^\s.]+)*$/)
|
3835
|
0 |
3025 |
unless (defined $value and not $value =~ /^$/)
|
3838
|
0 |
3025 |
unless ($value =~ /^[^\s.]+\.[^\s.]+\.[^\s.]+(?:\s+[^\s.]+\.[^\s.]+\.[^\s.]+)*$/)
|
3860
|
0 |
63 |
unless (not defined $value or $value eq '')
|
3891
|
0 |
63 |
unless (defined $value and not $value =~ /^$/)
|
3894
|
0 |
63 |
if (-d $value)
|
3919
|
0 |
0 |
unless ($value =~ /^0?[0-7]{3}$/)
|
3943
|
0 |
6 |
unless ($value =~ /^([_A-Za-z0-9:]+)$/)
|
4193
|
0 |
4680 |
if ($value eq '')
|
4198
|
0 |
4680 |
if ($value =~ /^(\S+)\s+(\S+)$/) { }
|
|
4680 |
0 |
elsif ($value =~ /^\S+$/) { }
|
4223
|
0 |
0 |
if ($value eq '')
|
4228
|
0 |
0 |
if ($value =~ /^(\S+)\s+(\S+)$/) { }
|
|
0 |
0 |
elsif ($value =~ /^\S+$/) { }
|
4601
|
0 |
81 |
unless tie %{$$self{'descriptions'};}, 'Mail::SpamAssassin::Util::TieOneStringHash'
|
4678
|
0 |
0 |
if (@_)
|
4719
|
0 |
0 |
if ($test_type eq 'rbl_evals')
|
4723
|
0 |
0 |
if (defined $priority) { }
|
4739
|
0 |
0 |
if ($test_type eq 'rbl_evals')
|
4743
|
0 |
0 |
if (defined $priority) { }
|
4748
|
0 |
0 |
if (exists $self->{$test_type}{$pri}{$rulename})
|
4760
|
0 |
0 |
if ($test_type eq 'rbl_evals')
|
4764
|
0 |
0 |
if (defined $priority) { }
|
4769
|
0 |
0 |
if (exists $self->{$test_type}{$pri}{$rulename})
|
4793
|
0 |
0 |
if (@rules_to_keep == 0)
|
4811
|
0 |
0 |
unless $rules_to_keep_hash{$rulekey}
|
4826
|
0 |
0 |
if $token eq $meta
|
4830
|
0 |
0 |
if ($self->get_rule_value('meta_tests', $token))
|
4842
|
0 |
88 |
if ($test_type eq 'rbl_evals')
|
4843
|
0 |
0 |
unless $self->{$test_type}{$rulename}
|
4848
|
0 |
88 |
if (defined $priority) { }
|
4850
|
0 |
0 |
unless $self->{$test_type}{$priority}{$rulename}
|
4857
|
88 |
0 |
if ($self->{$test_type}{$pri}{$rulename})
|
4862
|
0 |
88 |
unless $found_p
|
4875
|
0 |
1 |
if $port_range_lo < 0
|
4876
|
0 |
1 |
if $port_range_hi > 65535
|
4877
|
1 |
0 |
if (not defined $$bitset_ref) { }
|
|
0 |
0 |
elsif ($$bitset_ref eq '') { }
|
4883
|
1 |
0 |
!$value ? :
|
4891
|
0 |
1 |
!$value ? :
|
4914
|
0 |
0 |
if (@_ == 1) { }
|
4937
|
79 |
1 |
unless (defined $self->{'found_any_rules'})
|
4960
|
0 |
13 |
if ($rulename =~ /AUTOLEARNTEST/i)
|
4964
|
0 |
13 |
unless defined $type
|
4966
|
9 |
4 |
if ($type == $TYPE_HEAD_TESTS or $type == $TYPE_HEAD_EVALS) { }
|
|
0 |
4 |
elsif ($type == $TYPE_META_TESTS) { }
|
4972
|
0 |
0 |
if ($tflags =~ /\bnet\b/i) { }
|
4986
|
0 |
4 |
if ($rulename =~ /AUTOLEARNTEST/i)
|
4990
|
0 |
4 |
unless defined $type
|
4992
|
4 |
0 |
if ($type == $TYPE_BODY_TESTS or $type == $TYPE_BODY_EVALS or $type == $TYPE_URI_TESTS or $type == $TYPE_URI_EVALS) { }
|
|
0 |
0 |
elsif ($type == $TYPE_META_TESTS) { }
|
5000
|
0 |
0 |
if ($tflags =~ /\bnet\b/i) { }
|
5014
|
0 |
4680 |
if ($path)
|
5037
|
1 |
2 |
unless (defined $source)
|
5040
|
2 |
1 |
unless (defined $dest)
|
5088
|
12 |
0 |
if ($i eq 'HASH') { }
|
|
0 |
0 |
elsif ($i eq 'ARRAY') { }
|
5103
|
61 |
558 |
if exists $done{$k}
|
5108
|
438 |
120 |
if ($i eq '') { }
|
|
0 |
120 |
elsif ($i eq 'SCALAR') { }
|
|
21 |
99 |
elsif ($i eq 'ARRAY') { }
|
|
99 |
0 |
elsif ($i eq 'HASH') { }
|
5128
|
525 |
63 |
if exists $done{$k}
|
5155
|
2 |
0 |
if (not $self->{'main'}{'keep_config_parsing_metadata'} || $self->{'allow_user_rules'})
|
5167
|
226 |
113 |
if ($add_loopback)
|