line |
true |
false |
branch |
172
|
0 |
0 |
if (not defined $value or $value eq '') { }
|
|
0 |
0 |
elsif (not $value =~ /^\d+$/ or $value < 0 or $value > 32) { }
|
203
|
0 |
0 |
if (not defined $value or $value eq '') { }
|
|
0 |
0 |
elsif (not $value =~ /^\d+$/ or $value < 0 or $value > 128) { }
|
288
|
0 |
60 |
unless (defined $value and not $value =~ /^$/)
|
291
|
0 |
60 |
if (-d $value)
|
339
|
0 |
0 |
unless ($value =~ /^0?[0-7]{3}$/)
|
410
|
64 |
17 |
unless $pms->{'conf'}{'use_auto_whitelist'}
|
416
|
7 |
10 |
unless $from =~ /\S/
|
422
|
0 |
1 |
if $rly->{'ip_private'}
|
423
|
1 |
0 |
if ($rly->{'ip'})
|
432
|
10 |
0 |
if defined $signedby and $signedby eq ''
|
437
|
0 |
50 |
unless $scores->{$test}
|
438
|
0 |
50 |
if exists $tflags->{$test} and $tflags->{$test} =~ /\bnoautolearn\b/
|
439
|
0 |
50 |
if exists $tflags->{$test} and $tflags->{$test} =~ /\bnoawl\b/
|
459
|
7 |
3 |
!defined($meanscore) ? :
|
|
0 |
10 |
$signedby ? :
|
464
|
3 |
7 |
if (defined $meanscore)
|
469
|
3 |
0 |
if (defined $meanscore)
|
479
|
8 |
2 |
unless ($pms->{'disable_auto_learning'})
|
489
|
2 |
8 |
if ($delta != 0)
|
496
|
0 |
10 |
unless (eval {
do {
$whitelist = 'Mail::SpamAssassin::AutoWhitelist'->new($pms->{'main'});
my $meanscore;
{
my $timer = $self->{'main'}->time_method('check_awl');
$meanscore = $whitelist->check_address($from, $origip, $signedby);
};
my $delta = 0;
dbg('auto-whitelist: AWL active, pre-score: %s, autolearn score: %s, mean: %s, IP: %s, address: %s %s', $pms->{'score'}, $awlpoints, !defined($meanscore) ? 'undef' : sprintf('%.3f', $meanscore), $origip || 'undef', $from, $signedby ? "signed by $signedby" : '(not signed)');
if (defined $meanscore) {
$delta = $meanscore - $awlpoints;
$delta *= $pms->{'main'}{'conf'}{'auto_whitelist_factor'};
$pms->set_tag('AWL', sprintf('%2.1f', $delta));
if (defined $meanscore) {
$pms->set_tag('AWLMEAN', sprintf('%2.1f', $meanscore));
};
$pms->set_tag('AWLCOUNT', sprintf('%2.1f', $whitelist->count));
$pms->set_tag('AWLPRESCORE', sprintf('%2.1f', $pms->{'score'}));
};
unless ($pms->{'disable_auto_learning'}) {
my $timer = $self->{'main'}->time_method('update_awl');
$whitelist->add_score($awlpoints);
};
if ($delta != 0) {
$pms->got_hit('AWL', 'AWL: ', 'ruletype', 'eval', 'score', sprintf('%0.3f', $delta));
};
$whitelist->finish;
1
}
})
|
497
|
0 |
0 |
$@ ne '' ? :
|
500
|
0 |
0 |
if $whitelist
|
513
|
0 |
0 |
unless $self->{'main'}{'conf'}{'use_auto_whitelist'}
|
515
|
0 |
0 |
unless ($args->{'address'})
|
516
|
0 |
0 |
if $args->{'cli_p'}
|
527
|
0 |
0 |
if ($whitelist->add_known_bad_address($args->{'address'}, $args->{'signedby'})) { }
|
528
|
0 |
0 |
if $args->{'cli_p'}
|
533
|
0 |
0 |
if $args->{'cli_p'}
|
539
|
0 |
0 |
unless (eval {
do {
$whitelist = 'Mail::SpamAssassin::AutoWhitelist'->new($self->{'main'});
if ($whitelist->add_known_bad_address($args->{'address'}, $args->{'signedby'})) {
print 'SpamAssassin auto-whitelist: adding address to blacklist: ' . $args->{'address'} . "\n" if $args->{'cli_p'};
dbg('auto-whitelist: adding address to blacklist: ' . $args->{'address'});
$status = 0;
}
else {
print "SpamAssassin auto-whitelist: error adding address to blacklist\n" if $args->{'cli_p'};
dbg('auto-whitelist: error adding address to blacklist');
$status = 1;
};
$whitelist->finish;
1
}
})
|
540
|
0 |
0 |
$@ ne '' ? :
|
552
|
0 |
0 |
unless $self->{'main'}{'conf'}{'use_auto_whitelist'}
|
554
|
0 |
0 |
unless ($args->{'address'})
|
555
|
0 |
0 |
if $args->{'cli_p'}
|
566
|
0 |
0 |
if ($whitelist->add_known_good_address($args->{'address'}, $args->{'signedby'})) { }
|
567
|
0 |
0 |
if $args->{'cli_p'}
|
572
|
0 |
0 |
if $args->{'cli_p'}
|
579
|
0 |
0 |
unless (eval {
do {
$whitelist = 'Mail::SpamAssassin::AutoWhitelist'->new($self->{'main'});
if ($whitelist->add_known_good_address($args->{'address'}, $args->{'signedby'})) {
print 'SpamAssassin auto-whitelist: adding address to whitelist: ' . $args->{'address'} . "\n" if $args->{'cli_p'};
dbg('auto-whitelist: adding address to whitelist: ' . $args->{'address'});
$status = 1;
}
else {
print "SpamAssassin auto-whitelist: error adding address to whitelist\n" if $args->{'cli_p'};
dbg('auto-whitelist: error adding address to whitelist');
$status = 0;
};
$whitelist->finish;
1
}
})
|
580
|
0 |
0 |
$@ ne '' ? :
|
592
|
0 |
0 |
unless $self->{'main'}{'conf'}{'use_auto_whitelist'}
|
594
|
0 |
0 |
unless ($args->{'address'})
|
595
|
0 |
0 |
if $args->{'cli_p'}
|
606
|
0 |
0 |
if ($whitelist->remove_address($args->{'address'}, $args->{'signedby'})) { }
|
607
|
0 |
0 |
if $args->{'cli_p'}
|
612
|
0 |
0 |
if $args->{'cli_p'}
|
619
|
0 |
0 |
unless (eval {
do {
$whitelist = 'Mail::SpamAssassin::AutoWhitelist'->new($self->{'main'});
if ($whitelist->remove_address($args->{'address'}, $args->{'signedby'})) {
print 'SpamAssassin auto-whitelist: removing address: ' . $args->{'address'} . "\n" if $args->{'cli_p'};
dbg('auto-whitelist: removing address: ' . $args->{'address'});
$status = 1;
}
else {
print "SpamAssassin auto-whitelist: error removing address\n" if $args->{'cli_p'};
dbg('auto-whitelist: error removing address');
$status = 0;
};
$whitelist->finish;
1
}
})
|
620
|
0 |
0 |
$@ ne '' ? :
|