You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by pa...@apache.org on 2004/10/08 20:24:43 UTC

svn commit: rev 54099 - in spamassassin/branches/3.0/lib/Mail/SpamAssassin: . Conf

Author: parker
Date: Fri Oct  8 11:24:42 2004
New Revision: 54099

Modified:
   spamassassin/branches/3.0/lib/Mail/SpamAssassin/Conf/Parser.pm
   spamassassin/branches/3.0/lib/Mail/SpamAssassin/EvalTests.pm
Log:
Bug 3855: Do not use qr to whitelist entries, Storable does not handle Regexp objects

Modified: spamassassin/branches/3.0/lib/Mail/SpamAssassin/Conf/Parser.pm
==============================================================================
--- spamassassin/branches/3.0/lib/Mail/SpamAssassin/Conf/Parser.pm	(original)
+++ spamassassin/branches/3.0/lib/Mail/SpamAssassin/Conf/Parser.pm	Fri Oct  8 11:24:42 2004
@@ -771,7 +771,7 @@
     $re =~ s/([^\*\?_a-zA-Z0-9])/\\$1/g;	# escape any possible metachars
     $re =~ tr/?/./;				# "?" -> "."
     $re =~ s/\*/\.\*/g;				# "*" -> "any string"
-    $conf->{$singlelist}->{$addr} = qr/^${re}$/;
+    $conf->{$singlelist}->{$addr} = "^${re}\$";
   }
 }
 
@@ -789,7 +789,7 @@
     $re =~ s/([^\*\?_a-zA-Z0-9])/\\$1/g;	# escape any possible metachars
     $re =~ tr/?/./;				# "?" -> "."
     $re =~ s/\*/\.\*/g;				# "*" -> "any string"
-    $conf->{$listname}->{$addr}{re} = qr/^${re}$/;
+    $conf->{$listname}->{$addr}{re} = "^${re}\$";
     $conf->{$listname}->{$addr}{domain} = [ $domain ];
   }
 }

Modified: spamassassin/branches/3.0/lib/Mail/SpamAssassin/EvalTests.pm
==============================================================================
--- spamassassin/branches/3.0/lib/Mail/SpamAssassin/EvalTests.pm	(original)
+++ spamassassin/branches/3.0/lib/Mail/SpamAssassin/EvalTests.pm	Fri Oct  8 11:24:42 2004
@@ -971,7 +971,7 @@
     my $regexp = $list->{$white_addr}{re};
     foreach my $domain (@{$list->{$white_addr}{domain}}) {
       
-      if ($addr =~ /${regexp}/i) {
+      if ($addr =~ qr/${regexp}/i) {
         foreach my $lastunt (@relays) {
           my $rdns = $lastunt->{lc_rdns};
           if ($rdns =~ /(?:^|\.)\Q${domain}\E$/) { return 1; }
@@ -1001,7 +1001,7 @@
   if (defined ($list->{$addr})) { return 1; }
   study $addr;
   foreach my $regexp (values %{$list}) {
-    if ($addr =~ /$regexp/i) {
+    if ($addr =~ qr/$regexp/i) {
       return 1;
     }
   }