You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by fe...@apache.org on 2006/12/04 22:38:00 UTC

svn commit: r482371 - in /spamassassin/trunk/lib/Mail/SpamAssassin: Conf/Parser.pm Constants.pm Plugin/Check.pm

Author: felicity
Date: Mon Dec  4 13:37:59 2006
New Revision: 482371

URL: http://svn.apache.org/viewvc?view=rev&rev=482371
Log:
bug 5142: allow decimal numbers, and positive/negative marked numbers in meta rules.  when tokenizing, don't require rule names to be over 1 character in length.

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

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm?view=diff&rev=482371&r1=482370&r2=482371
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm Mon Dec  4 13:37:59 2006
@@ -785,7 +785,7 @@
   # Go through each token in the meta rule
   foreach my $token (@tokens) {
     # has to be an alpha+numeric token
-    next if ($token =~ /^(?:\W+|\d+)$/);
+    next if ($token =~ /^(?:\W+|[+-]?\d+(?:\.\d+)?)$/);
     # and has to be a rule name
     next unless exists $conf->{tests}->{$token};
 

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm?view=diff&rev=482371&r1=482370&r2=482371
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm Mon Dec  4 13:37:59 2006
@@ -286,7 +286,7 @@
 # used for meta rules and "if" conditionals in Conf::Parser
 use constant ARITH_EXPRESSION_LEXER => qr/(?:
         [\-\+\d\.]+|                            # A Number
-        \w[\w\:]+|                              # Rule or Class Name
+        \w[\w\:]*|                              # Rule or Class Name
         [\(\)]|                                 # Parens
         \|\||                                   # Boolean OR
         \&\&|                                   # Boolean AND

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm?view=diff&rev=482371&r1=482370&r2=482371
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm Mon Dec  4 13:37:59 2006
@@ -318,7 +318,7 @@
     foreach $token (@tokens) {
 
       # Numbers can't be rule names
-      if ($token =~ /^(?:\W+|\d+)$/) {
+      if ($token =~ /^(?:\W+|[+-]?\d+(?:\.\d+)?)$/) {
         $meta{$rulename} .= "$token ";
       }
       else {