Mailing List Archive

svn commit: r1901344 - /spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm
Author: hege
Date: Sat May 28 10:24:55 2022
New Revision: 1901344

URL: http://svn.apache.org/viewvc?rev=1901344&view=rev
Log:
Fix tflags multiple handling for full rules

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=1901344&r1=1901343&r2=1901344&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm Sat May 28 10:24:55 2022
@@ -1007,9 +1007,14 @@ sub do_full_tests {
loop_body => sub
{
my ($self, $pms, $conf, $rulename, $pat, %opts) = @_;
- my ($max) = ($conf->{tflags}->{$rulename}||'') =~ /\bmaxhits=(\d+)\b/;
- $max = untaint_var($max);
- $max ||= 0;
+ my $whlast = 'last;';
+ if (($conf->{tflags}->{$rulename}||'') =~ /\bmultiple\b/) {
+ if (($conf->{tflags}->{$rulename}||'') =~ /\bmaxhits=(\d+)\b/) {
+ $whlast = 'last if ++$hits >= '.untaint_var($1).';';
+ } else {
+ $whlast = '';
+ }
+ }
# Make sure rule is marked ready for meta rules
$self->add_evalstr($pms, '
if ($scoresptr->{q{'.$rulename.'}}) {
@@ -1024,7 +1029,7 @@ sub do_full_tests {
'.$self->capture_plugin_code().'
$self->got_hit(q{'.$rulename.'}, "FULL: ", ruletype => "full");
'. $self->hit_rule_plugin_code($pms, $rulename, "full", "last") . '
- last if ++$hits >= '.$max.';
+ '.$whlast.'
}
pos $$fullmsgref = 0;
'.$self->ran_rule_plugin_code($rulename, "full").'