You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2018/10/18 18:28:11 UTC
svn commit: r1844276 -
/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm
Author: hege
Date: Thu Oct 18 18:28:11 2018
New Revision: 1844276
URL: http://svn.apache.org/viewvc?rev=1844276&view=rev
Log:
Fix possible callback loop
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm?rev=1844276&r1=1844275&r2=1844276&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm Thu Oct 18 18:28:11 2018
@@ -656,7 +656,7 @@ sub check_cleanup {
my $pms = $opts->{permsgstatus};
# Finish callbacks
- if ($pms->{dcc_range_callbacks}) {
+ if ($pms->{dcc_x_result} && $pms->{dcc_range_callbacks}) {
foreach (@{$pms->{dcc_range_callbacks}}) {
$self->check_dcc_reputation_range($pms, @$_);
}
@@ -812,15 +812,10 @@ sub check_dcc_reputation_range {
return 0 if !$self->{main}->{conf}->{use_dcc_rep};
return 0 if $pms->{dcc_abort};
- # Check if callback overriding rulename
- my $cb;
- if (!defined $rulename) {
+ # Check if callback (overrides rulename)
+ my $cb = defined $rulename;
+ if (!$cb) {
$rulename = $pms->get_current_eval_rule_name();
- } else {
- $cb = 1;
- }
-
- if (!defined $pms->{dcc_result}) {
dbg("dcc: delaying check_dcc_reputation_range call for $rulename");
# array matches check_dcc_reputation_range() argument order
push @{$pms->{dcc_range_callbacks}}, [$fulltext, $min, $max, $rulename];