You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2019/12/17 21:42:32 UTC

svn commit: r1871709 - in /spamassassin: branches/3.4/lib/Mail/SpamAssassin/Util.pm trunk/lib/Mail/SpamAssassin/Util.pm

Author: hege
Date: Tue Dec 17 21:42:32 2019
New Revision: 1871709

URL: http://svn.apache.org/viewvc?rev=1871709&view=rev
Log:
Don't canonicalize stuff like #abcdef ?foobar /image.gif as http://

Modified:
    spamassassin/branches/3.4/lib/Mail/SpamAssassin/Util.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm

Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Util.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Util.pm?rev=1871709&r1=1871708&r2=1871709&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Util.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Util.pm Tue Dec 17 21:42:32 2019
@@ -1327,6 +1327,10 @@ sub uri_list_canonicalize {
     # CRs just confuse things down below, so trash them now
     $uri =~ s/\r//g;
 
+    # Skip some common non-http stuff like #abcdef, ?foobar,
+    # /image.gif (but not //foo.com which actually does http)
+    next if length($uri) <= 1 || $uri =~ m{^(?:[#?&]|/(?!/))};
+
     # Make a copy so we don't trash the original in the array
     my $nuri = $uri;
 

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm?rev=1871709&r1=1871708&r2=1871709&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm Tue Dec 17 21:42:32 2019
@@ -1489,6 +1489,10 @@ sub uri_list_canonicalize {
     # CRs just confuse things down below, so trash them now
     $uri =~ s/\r//g;
 
+    # Skip some common non-http stuff like #abcdef, ?foobar,
+    # /image.gif (but not //foo.com which actually does http)
+    next if length($uri) <= 1 || $uri =~ m{^(?:[#?&]|/(?!/))};
+
     # Make a copy so we don't trash the original in the array
     my $nuri = $uri;