You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by gb...@apache.org on 2025/01/02 15:20:49 UTC

svn commit: r1922841 - /spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm

Author: gbechis
Date: Thu Jan  2 15:20:49 2025
New Revision: 1922841

URL: http://svn.apache.org/viewvc?rev=1922841&view=rev
Log:
skip http checks if domains are not valid
bz #8302

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

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm?rev=1922841&r1=1922840&r2=1922841&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm Thu Jan  2 15:20:49 2025
@@ -709,6 +709,10 @@ sub _check_redirector_uri {
     (.*)?		# Some path wanted
     }ix;
   my $host = lc $1;
+  # return early if host is not valid
+  if($host =~ /\=|\&|\?/) {
+    return;
+  }
   if(is_fqdn_valid($host)) {
     $host = idn_to_ascii($host);
   }
@@ -906,7 +910,7 @@ sub recursive_lookup {
     # Not cached; do lookup
     my $method = $redir_url_info->{method};
     # run the http check only if the url is valid
-    if($redir_url !~ /([^.]+\.[^.]+)/) {
+    if($redir_url !~ /^(?:https?:\/\/)?(?:[A-Za-z0-9-]{1,63}\.)+[A-Za-z0-9-]{2,63}/) {
       dbg("URL $redir_url is not valid, skipping http check");
       return;
     }