You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2011/05/05 14:10:29 UTC

svn commit: r1099766 - in /spamassassin/branches/3.3: lib/Mail/SpamAssassin/Dns.pm rules/20_dnsbl_tests.cf

Author: mmartinec
Date: Thu May  5 12:10:28 2011
New Revision: 1099766

URL: http://svn.apache.org/viewvc?rev=1099766&view=rev
Log:
Bug 6565: check_rbl_sub rules - all dots need to be escaped

Modified:
    spamassassin/branches/3.3/lib/Mail/SpamAssassin/Dns.pm
    spamassassin/branches/3.3/rules/20_dnsbl_tests.cf

Modified: spamassassin/branches/3.3/lib/Mail/SpamAssassin/Dns.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.3/lib/Mail/SpamAssassin/Dns.pm?rev=1099766&r1=1099765&r2=1099766&view=diff
==============================================================================
--- spamassassin/branches/3.3/lib/Mail/SpamAssassin/Dns.pm (original)
+++ spamassassin/branches/3.3/lib/Mail/SpamAssassin/Dns.pm Thu May  5 12:10:28 2011
@@ -281,9 +281,9 @@ sub process_dnsbl_set {
   while (my ($subtest, $rule) = each %{ $self->{dnspost}->{$set} }) {
     next if $self->{tests_already_hit}->{$rule};
 
-    # exact substr (usually IP address)
-    if ($subtest eq $rdatastr) {
-      $self->dnsbl_hit($rule, $question, $answer);
+    if ($subtest =~ /^\d+\.\d+\.\d+\.\d+$/) {
+      # test for exact equality, not a regexp (an IPv4 address)
+      $self->dnsbl_hit($rule, $question, $answer)  if $subtest eq $rdatastr;
     }
     # senderbase
     elsif ($subtest =~ s/^sb://) {

Modified: spamassassin/branches/3.3/rules/20_dnsbl_tests.cf
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.3/rules/20_dnsbl_tests.cf?rev=1099766&r1=1099765&r2=1099766&view=diff
==============================================================================
--- spamassassin/branches/3.3/rules/20_dnsbl_tests.cf (original)
+++ spamassassin/branches/3.3/rules/20_dnsbl_tests.cf Thu May  5 12:10:28 2011
@@ -151,13 +151,13 @@ tflags RCVD_IN_SBL              net
 reuse  RCVD_IN_SBL
 
 # XBL is the Exploits Block List: http://www.spamhaus.org/xbl/
-header RCVD_IN_XBL              eval:check_rbl('zen-lastexternal', 'zen.spamhaus.org.', '127.0.0.[45678]')
+header RCVD_IN_XBL              eval:check_rbl('zen-lastexternal', 'zen.spamhaus.org.', '^127\.0\.0\.[45678]$')
 describe RCVD_IN_XBL            Received via a relay in Spamhaus XBL
 tflags RCVD_IN_XBL              net
 reuse  RCVD_IN_XBL
 
 # PBL is the Policy Block List: http://www.spamhaus.org/pbl/
-header RCVD_IN_PBL              eval:check_rbl('zen-lastexternal', 'zen.spamhaus.org.', '127.0.0.1[01]')
+header RCVD_IN_PBL              eval:check_rbl('zen-lastexternal', 'zen.spamhaus.org.', '^127\.0\.0\.1[01]$')
 describe RCVD_IN_PBL            Received via a relay in Spamhaus PBL
 tflags RCVD_IN_PBL              net
 reuse  RCVD_IN_PBL              RCVD_IN_PBL T_RCVD_IN_PBL_WITH_NJABL_DUL RCVD_IN_NJABL_DUL
@@ -239,7 +239,7 @@ tflags RCVD_IN_MAPS_NML         net
 header __RCVD_IN_IADB           eval:check_rbl('iadb-firsttrusted', 'iadb.isipp.com.')
 tflags __RCVD_IN_IADB           net nice
 
-header RCVD_IN_IADB_VOUCHED     eval:check_rbl_sub('iadb-firsttrusted', '^127.0.1.255$')
+header RCVD_IN_IADB_VOUCHED     eval:check_rbl_sub('iadb-firsttrusted', '127.0.1.255')
 describe RCVD_IN_IADB_VOUCHED   ISIPP IADB lists as vouched-for sender
 tflags RCVD_IN_IADB_VOUCHED     net nice