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 2019/08/31 17:30:04 UTC

svn commit: r1866215 - /spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm

Author: hege
Date: Sat Aug 31 17:30:04 2019
New Revision: 1866215

URL: http://svn.apache.org/viewvc?rev=1866215&view=rev
Log:
Fix start_rules plugin callback for eval rules, was called too often and not when rules were disabled

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm?rev=1866215&r1=1866214&r2=1866215&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm Sat Aug 31 17:30:04 2019
@@ -1137,7 +1137,6 @@ sub run_eval_tests {
   my $tflagsref = $conf->{tflags};
   my $scoresref = $conf->{scores};
   my $eval_pluginsref = $conf->{eval_plugins};
-  my $have_start_rules = $self->{main}->have_plugin("start_rules");
   my $have_ran_rule = $self->{main}->have_plugin("ran_rule");
 
   # the buffer for the evaluated code 
@@ -1149,6 +1148,17 @@ sub run_eval_tests {
     $dbgstr = 'dbg("rules: ran eval rule $rulename ======> got hit ($result)");';
   }
 
+  if ($self->{main}->have_plugin("start_rules")) {
+    # XXX - should we use helper function here?
+    $evalstr .= '
+      $self->{main}->call_plugins("start_rules", {
+              permsgstatus => $self,
+              ruletype => "eval",
+              priority => '.$priority.'
+            });
+';
+  }
+
   while (my ($rulename, $test) = each %{$evalhash}) {
     if ($tflagsref->{$rulename}) {
       # If the rule is a net rule, and we are in a non-net scoreset, skip it.
@@ -1191,20 +1201,6 @@ sub run_eval_tests {
 ';
     }
 
-    # this stuff is quite slow, and totally superfluous if
-    # no plugin is loaded for those hooks
-    if ($have_start_rules) {
-      # XXX - should we use helper function here?
-      $evalstr .= '
-        $self->{main}->call_plugins("start_rules", {
-                permsgstatus => $self,
-                ruletype => "eval",
-                priority => '.$priority.'
-              });
-
-';
-    }
-
     if ($would_log_rules_all) {
       $evalstr .= '
       dbg("rules-all: running eval rule %s (%s)", q{'.$rulename.'}, q{'.$function.'});