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 2007/02/05 18:32:10 UTC

svn commit: r503786 - in /spamassassin/branches/3.1/lib/Mail/SpamAssassin: Conf/Parser.pm Constants.pm PerMsgStatus.pm

Author: felicity
Date: Mon Feb  5 09:32:09 2007
New Revision: 503786

URL: http://svn.apache.org/viewvc?view=rev&rev=503786
Log:
bug 5142: allow decimal numbers in meta rules, also allow meta rules to have dependencies < 2 chars in length

Modified:
    spamassassin/branches/3.1/lib/Mail/SpamAssassin/Conf/Parser.pm
    spamassassin/branches/3.1/lib/Mail/SpamAssassin/Constants.pm
    spamassassin/branches/3.1/lib/Mail/SpamAssassin/PerMsgStatus.pm

Modified: spamassassin/branches/3.1/lib/Mail/SpamAssassin/Conf/Parser.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.1/lib/Mail/SpamAssassin/Conf/Parser.pm?view=diff&rev=503786&r1=503785&r2=503786
==============================================================================
--- spamassassin/branches/3.1/lib/Mail/SpamAssassin/Conf/Parser.pm (original)
+++ spamassassin/branches/3.1/lib/Mail/SpamAssassin/Conf/Parser.pm Mon Feb  5 09:32:09 2007
@@ -454,7 +454,7 @@
   my $eval = '';
   my $bad = 0;
   foreach my $token (@tokens) {
-    if ($token =~ /^(\W+|[\-\+\d\.]+)$/) {
+    if ($token =~ /^(\W+|[+-]?\d+(?:\.\d+)?)$/) {
       $eval .= $1." ";          # note: untaints!
     }
     elsif ($token eq 'plugin') {
@@ -895,7 +895,7 @@
   # Go through each token in the meta rule
   foreach my $token (@tokens) {
     # Numbers can't be rule names
-    if ($token =~ /^(?:\W+|\d+)$/) {
+    if ($token =~ /^(?:\W+|[+-]?\d+(?:\.\d+)?)$/) {
       $meta .= "$token ";
     }
     # Zero will probably cause more errors

Modified: spamassassin/branches/3.1/lib/Mail/SpamAssassin/Constants.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.1/lib/Mail/SpamAssassin/Constants.pm?view=diff&rev=503786&r1=503785&r2=503786
==============================================================================
--- spamassassin/branches/3.1/lib/Mail/SpamAssassin/Constants.pm (original)
+++ spamassassin/branches/3.1/lib/Mail/SpamAssassin/Constants.pm Mon Feb  5 09:32:09 2007
@@ -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/branches/3.1/lib/Mail/SpamAssassin/PerMsgStatus.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.1/lib/Mail/SpamAssassin/PerMsgStatus.pm?view=diff&rev=503786&r1=503785&r2=503786
==============================================================================
--- spamassassin/branches/3.1/lib/Mail/SpamAssassin/PerMsgStatus.pm (original)
+++ spamassassin/branches/3.1/lib/Mail/SpamAssassin/PerMsgStatus.pm Mon Feb  5 09:32:09 2007
@@ -2476,7 +2476,7 @@
     foreach $token (@tokens) {
 
       # Numbers can't be rule names
-      if ($token =~ /^(?:\W+|\d+)$/) {
+      if ($token =~ /^(?:\W+|[+-]?\d+(?:\.\d+)?)$/) {
         $meta{$rulename} .= "$token ";
       }
       else {