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;
}