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 2024/10/09 17:17:03 UTC
svn commit: r1921213 - /spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm
Author: gbechis
Date: Wed Oct 9 17:17:03 2024
New Revision: 1921213
URL: http://svn.apache.org/viewvc?rev=1921213&view=rev
Log:
match redirectors on all subdomains, skip wrong uris
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=1921213&r1=1921212&r2=1921213&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm Wed Oct 9 17:17:03 2024
@@ -741,11 +741,20 @@ sub _check_redirector_uri {
'uri' => $uri,
'method' => $conf->{url_redirector}->{$1} == 1 ? 'head' : 'get',
};
+ }
+ elsif ($host =~ /(\.[a-z0-9_]+\.[a-z]+)$/i &&
+ exists $conf->{url_redirector}->{$1}) {
+ return {
+ 'uri' => $uri,
+ 'method' => $conf->{url_redirector}->{$1} == 1 ? 'head' : 'get',
+ };
} elsif ($newuri = _check_querystring($params, $conf)) {
return {
'uri' => $newuri,
'method' => 'head',
};
+ } else {
+ dbg("No explicit redirector host found for $host");
}
return;
}
@@ -866,6 +875,7 @@ sub recursive_lookup {
dbg("URL is not a redirect: $redir_url = ".$response->status_line);
my $rcode = $response->code;
if ($rcode =~ /^\d{3}$/) {
+ return if $redir_url !~ /([^.]+\.[^.]+)/;
$pms->{"redir_url_$rcode"} = 1;
# Update cache
$self->cache_add($redir_url, $rcode);