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 2010/04/19 17:22:47 UTC

svn commit: r935621 - in /spamassassin/trunk/lib/Mail/SpamAssassin: Dns.pm MailingList.pm Plugin/FreeMail.pm Plugin/HeaderEval.pm Plugin/URIDNSBL.pm Plugin/URIEval.pm

Author: mmartinec
Date: Mon Apr 19 15:22:46 2010
New Revision: 935621

URL: http://svn.apache.org/viewvc?rev=935621&view=rev
Log:
Bug 6408: fix more cases of case-sensitive URI schemes

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Dns.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/MailingList.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/FreeMail.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIEval.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Dns.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Dns.pm?rev=935621&r1=935620&r2=935621&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Dns.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Dns.pm Mon Apr 19 15:22:46 2010
@@ -186,7 +186,7 @@ sub dnsbl_hit {
     if ($answer->type eq 'TXT') {
       $log = $answer->rdatastr;
       $log =~ s/^"(.*)"$/$1/;
-      $log =~ s/(?<![<([])(https?:\/\/\S+)/<$1>/g;
+      $log =~ s/(?<![<([])(https?:\/\/\S+)/<$1>/gi;
     }
     elsif ($question->string =~ m/^(\d+)\.(\d+)\.(\d+)\.(\d+)\.(\S+\w)/) {
       $log = "$4.$3.$2.$1 listed in ".lc($5);

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/MailingList.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/MailingList.pm?rev=935621&r1=935620&r2=935621&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/MailingList.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/MailingList.pm Mon Apr 19 15:22:46 2010
@@ -46,10 +46,10 @@ sub detect_ml_ezmlm {
     my ($self) = @_;
     return 0 unless $self->get('mailing-list') =~ /ezmlm$/;
     return 0 unless $self->get('precedence') eq "bulk\n";
-    return 0 unless $self->get('list-post') =~ /^<mailto:/;
-    return 0 unless $self->get('list-help') =~ /^<mailto:/;
-    return 0 unless $self->get('list-unsubscribe') =~ /<mailto:[a-zA-Z\.-]+-unsubscribe\@/;
-    return 0 unless $self->get('list-subscribe') =~ /<mailto:[a-zA-Z\.-]+-subscribe\@/;
+    return 0 unless $self->get('list-post') =~ /^<mailto:/i;
+    return 0 unless $self->get('list-help') =~ /^<mailto:/i;
+    return 0 unless $self->get('list-unsubscribe') =~ /<mailto:[a-zA-Z\.-]+-unsubscribe\@/i;
+    return 0 unless $self->get('list-subscribe') =~ /<mailto:[a-zA-Z\.-]+-subscribe\@/i;
     return 1; # assume ezmlm then.
 }
 
@@ -88,10 +88,10 @@ sub detect_ml_mailman {
     }
 
     return 0 unless defined $self->get('list-id',undef);
-    return 0 unless $self->get('list-help') =~ /^<mailto:/;
-    return 0 unless $self->get('list-post') =~ /^<mailto:/;
-    return 0 unless $self->get('list-subscribe') =~ /<mailto:.*=subscribe>/;
-    return 0 unless $self->get('list-unsubscribe') =~ /<mailto:.*=unsubscribe>/;
+    return 0 unless $self->get('list-help') =~ /^<mailto:/i;
+    return 0 unless $self->get('list-post') =~ /^<mailto:/i;
+    return 0 unless $self->get('list-subscribe') =~ /<mailto:.*=subscribe>/i;
+    return 0 unless $self->get('list-unsubscribe') =~ /<mailto:.*=unsubscribe>/i;
     return 1; # assume this is a valid mailman list
 }
 

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/FreeMail.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/FreeMail.pm?rev=935621&r1=935620&r2=935621&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/FreeMail.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/FreeMail.pm Mon Apr 19 15:22:46 2010
@@ -327,7 +327,7 @@ sub _parse_body {
         my $parsed = $pms->get_uri_detail_list();
         while (my($uri, $info) = each %{$parsed}) {
             if (defined $info->{types}->{a} and not defined $info->{types}->{parsed}) {
-                if ($uri =~ /^mailto:${email_regex}/) {
+                if ($uri =~ /^(?:(?i)mailto):${email_regex}/) {
                     my $email = lc($1);
                     push(@body_emails, $email) unless defined $seen{$email};
                     $seen{$email} = 1;

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm?rev=935621&r1=935620&r2=935621&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm Mon Apr 19 15:22:46 2010
@@ -976,7 +976,7 @@ sub check_messageid_not_usable {
 
   # Lyris eats message-ids.  also some ezmlm, I think :(
   $_ = $pms->get("List-Unsubscribe");
-  return 1 if (/<mailto:(?:leave-\S+|\S+-unsubscribe)\@\S+>$/);
+  return 1 if (/<mailto:(?:leave-\S+|\S+-unsubscribe)\@\S+>$/i);
 
   # ezmlm again
   if($self->gated_through_received_hdr_remover($pms)) { return 1; }

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm?rev=935621&r1=935620&r2=935621&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm Mon Apr 19 15:22:46 2010
@@ -349,7 +349,7 @@ sub parsed_metadata {
   # 5: a_empty
   while (my($uri, $info) = each %{$uris}) {
     # we want to skip mailto: uris
-    next if ($uri =~ /^mailto:/);
+    next if ($uri =~ /^mailto:/i);
 
     # no domains were found via this uri, so skip
     next unless ($info->{domains});

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIEval.pm?rev=935621&r1=935620&r2=935621&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIEval.pm Mon Apr 19 15:22:46 2010
@@ -52,7 +52,7 @@ sub check_for_http_redirector {
   my ($self, $pms) = @_;
 
   foreach ($pms->get_uri_list()) {
-    while (s{^https?://([^/:\?]+).+?(https?:/{0,2}?([^/:\?]+).*)$}{$2}) {
+    while (s{^https?://([^/:\?]+).+?(https?:/{0,2}?([^/:\?]+).*)$}{$2}i) {
       my ($redir, $dest) = ($1, $3);
       foreach ($redir, $dest) {
 	$_ = Mail::SpamAssassin::Util::uri_to_domain(lc($_)) || $_;