You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2005/09/14 03:53:16 UTC

svn commit: r280738 - in /spamassassin/trunk: lib/Mail/SpamAssassin/PerMsgStatus.pm t/uri_text.t

Author: jm
Date: Tue Sep 13 18:53:11 2005
New Revision: 280738

URL: http://svn.apache.org/viewcvs?rev=280738&view=rev
Log:
bug 4522: ISO-2022 charset shifting escape sequence threw off bare-URI parsing.  fixed

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
    spamassassin/trunk/t/uri_text.t

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm?rev=280738&r1=280737&r2=280738&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm Tue Sep 13 18:53:11 2005
@@ -1802,7 +1802,7 @@
 # Taken from URI and URI::Find
 my $reserved   = q(;/?:@&=+$,[]\#|);
 my $mark       = q(-_.!~*'());                                    #'; emacs
-my $unreserved = "A-Za-z0-9\Q$mark\E\x00-\x08\x0b\x0c\x0e-\x1f";
+my $unreserved = "A-Za-z0-9\Q$mark\E\x00-\x08\x0b\x0c\x0e-\x1a\x1c-\x1f";
 my $uricSet = quotemeta($reserved) . $unreserved . "%";
 
 my $schemeRE = qr/(?:https?|ftp|mailto|javascript|file)/i;

Modified: spamassassin/trunk/t/uri_text.t
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/t/uri_text.t?rev=280738&r1=280737&r2=280738&view=diff
==============================================================================
--- spamassassin/trunk/t/uri_text.t (original)
+++ spamassassin/trunk/t/uri_text.t Tue Sep 13 18:53:11 2005
@@ -24,7 +24,7 @@
 use vars qw(%patterns %anti_patterns);
 
 # settings
-plan tests => 101;
+plan tests => 104;
 
 # initialize SpamAssassin
 my $sa = create_saobj({'dont_copy_prefs' => 1});
@@ -83,6 +83,7 @@
       my $string = $1;
       my @patterns = split(' ', $2);
       if ($string && @patterns) {
+        $string =~ s/{ESC}/\x1b/gs;     # magic, to avoid ^[ chars in source
         $message .= "$string\n";
         for my $pattern (@patterns) {
           if ($pattern =~ /^\!(.*)/) {
@@ -259,4 +260,8 @@
 
 <se...@verper.com>	!^http://.*addr.com@verper.com
 <se...@verper.com>	mailto:sentto-4934-foo=addr.com@verper.com
+
+http://foo23498.com/{ESC}(B	^http://foo23498.com/$
+{ESC}(Bhttp://foo23499.com/	^http://foo23499.com/$
+http://foo23500.com{ESC}(B/	^http://foo23500.com$