svn commit: r1934912 - in spamassassin/trunk: lib/Mail/SpamAssassin/Plugin t

[email protected] Wed, 03 Jun 2026 08:54:54 -0000
Newsgroups gmane.mail.spam.spamassassin.cvs
Message-ID <178047689447.2252560.8123433563267157186@svn03-he-fi>
Author: gbechis
Date: Wed Jun  3 08:54:54 2026
New Revision: 1934912

Log:
unbreak redirectors with uppercase path

Modified:
   spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm
   spamassassin/trunk/t/redirectors_match.t

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm	Wed Jun  3 04:20:07 2026	(r1934911)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm	Wed Jun  3 08:54:54 2026	(r1934912)
@@ -900,7 +900,6 @@ sub redir_url_loop {
 sub _add_redirector_entry {
   my ($conf, $token, $method) = @_;
 
-  $token = lc $token;
   my ($domspec, $path) = split(/\//, $token, 2);
   $path = defined $path ? '/' . $path : '/';
 

Modified: spamassassin/trunk/t/redirectors_match.t
==============================================================================
--- spamassassin/trunk/t/redirectors_match.t	Wed Jun  3 04:20:07 2026	(r1934911)
+++ spamassassin/trunk/t/redirectors_match.t	Wed Jun  3 08:54:54 2026	(r1934912)
@@ -15,6 +15,7 @@ sub make_conf {
   Mail::SpamAssassin::Plugin::Redirectors::_add_redirector_entry($conf, '.r.af.d.sendibt2.com/tr/cl/', 'get');
   Mail::SpamAssassin::Plugin::Redirectors::_add_redirector_entry($conf, 'foo.example/tr/op/', 'head');
   Mail::SpamAssassin::Plugin::Redirectors::_add_redirector_entry($conf, 'bar.example/tr/op', 'head');
+  Mail::SpamAssassin::Plugin::Redirectors::_add_redirector_entry($conf, 'baz.example/FOO', 'head');
   Mail::SpamAssassin::Plugin::Redirectors::_add_redirector_entry($conf, 'js.example', 'selenium');
   Mail::SpamAssassin::Plugin::Redirectors::_add_redirector_entry($conf, '.spa.example', 'selenium');
   return $conf;
@@ -51,6 +52,9 @@ my @cases = (
   [ 'https://bar.example/tr/op#frag', 'head', 'no-trailing-slash matches with fragment' ],
   [ 'https://bar.example/tr/open',    undef,  'no-trailing-slash does NOT match /tr/open' ],
   [ 'https://bar.example/tr/opfoo',   undef,  'no-trailing-slash does NOT match /tr/opfoo' ],
+  
+  # Uppercase path
+  [ 'https://baz.example/FOO', 'head', 'uppercase path' ],
 
   # Selenium method round-trips through the entry.
   [ 'https://js.example/',           'selenium', 'selenium method on bare-domain entry' ],