"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "lib/Mail/SpamAssassin/Plugin/Check.pm" between
Mail-SpamAssassin-3.4.4.tar.bz2 and Mail-SpamAssassin-3.4.5.tar.bz2

About: SpamAssassin is a mail filter that uses a wide range of heuristic tests on mail headers and body text to identify "spam" (also known as unsolicited commercial email) incl. Bayesian (statistical) spam filter and several internet-based realtime blacklists.

Check.pm  (Mail-SpamAssassin-3.4.4.tar.bz2):Check.pm  (Mail-SpamAssassin-3.4.5.tar.bz2)
skipping to change at line 205 skipping to change at line 205
# harvest the DNS results # harvest the DNS results
$pms->harvest_dnsbl_queries(); $pms->harvest_dnsbl_queries();
} }
# finish the DNS results # finish the DNS results
$pms->rbl_finish(); $pms->rbl_finish();
$self->{main}->call_plugins ("check_post_dnsbl", { permsgstatus => $pms }); $self->{main}->call_plugins ("check_post_dnsbl", { permsgstatus => $pms });
$pms->{resolver}->finish_socket() if $pms->{resolver}; $pms->{resolver}->finish_socket() if $pms->{resolver};
} }
# last chance to handle left callbacks, make rule hits etc
$self->{main}->call_plugins ("check_cleanup", { permsgstatus => $pms });
if ($pms->{deadline_exceeded}) { if ($pms->{deadline_exceeded}) {
$pms->got_hit('TIME_LIMIT_EXCEEDED', '', defscore => 0.001, $pms->got_hit('TIME_LIMIT_EXCEEDED', '', defscore => 0.001,
description => 'Exceeded time limit / deadline'); description => 'Exceeded time limit / deadline');
} }
# finished running rules # finished running rules
delete $pms->{current_rule_name}; delete $pms->{current_rule_name};
undef $decoded; undef $decoded;
undef $bodytext; undef $bodytext;
undef $fulltext; undef $fulltext;
skipping to change at line 719 skipping to change at line 722
} else { } else {
$op = 'defined'; $op = 'defined';
} }
} }
else { else {
$op_infix = 1; $op_infix = 1;
$op = $conf->{test_opt_neg}->{$rulename} ? '!~' : '=~'; $op = $conf->{test_opt_neg}->{$rulename} ? '!~' : '=~';
} }
my $def = $conf->{test_opt_unset}->{$rulename}; my $def = $conf->{test_opt_unset}->{$rulename};
push(@{ $ordered{$hdrname . (!defined $def ? '' : "\t".$def)} }, push(@{ $ordered{$hdrname . (!defined $def ? '' : "\t$rulename")} },
$rulename); $rulename);
return if ($opts{doing_user_rules} && return if ($opts{doing_user_rules} &&
!$self->is_user_rule_sub($rulename.'_head_test')); !$self->is_user_rule_sub($rulename.'_head_test'));
$testcode{$rulename} = [$op_infix, $op, $pat]; $testcode{$rulename} = [$op_infix, $op, $pat];
}, },
pre_loop_body => sub pre_loop_body => sub
{ {
my ($self, $pms, $conf, %opts) = @_; my ($self, $pms, $conf, %opts) = @_;
skipping to change at line 743 skipping to change at line 746
'); ');
}, },
post_loop_body => sub post_loop_body => sub
{ {
my ($self, $pms, $conf, %opts) = @_; my ($self, $pms, $conf, %opts) = @_;
# setup the function to run the rules # setup the function to run the rules
while(my($k,$v) = each %ordered) { while(my($k,$v) = each %ordered) {
my($hdrname, $def) = split(/\t/, $k, 2); my($hdrname, $def) = split(/\t/, $k, 2);
$self->push_evalstr_prefix($pms, ' $self->push_evalstr_prefix($pms, '
$hval = $self->get(q{'.$hdrname.'}, ' . $hval = $self->get(q{'.$hdrname.'}, ' .
(!defined($def) ? 'undef' : 'q{'.$def.'}') . '); (!defined($def) ? 'undef' :
'$self->{conf}->{test_opt_unset}->{q{'.$def.'}}')
. ');
'); ');
foreach my $rulename (@{$v}) { foreach my $rulename (@{$v}) {
my $tc_ref = $testcode{$rulename}; my $tc_ref = $testcode{$rulename};
my ($op_infix, $op, $pat); my ($op_infix, $op, $pat);
($op_infix, $op, $pat) = @$tc_ref if defined $tc_ref; ($op_infix, $op, $pat) = @$tc_ref if defined $tc_ref;
my $posline = ''; my $posline = '';
my $ifwhile = 'if'; my $ifwhile = 'if';
my $matchg = ''; my $matchg = '';
my $whlast = ''; my $whlast = '';
 End of changes. 3 change blocks. 
2 lines changed or deleted 7 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)