You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by Kent Oyer <ke...@mxguardian.net> on 2024/11/22 16:56:17 UTC
Re: [BULK] svn commit: r1922027 - /spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm
Hi Giovanni,
I think you can eliminate the check $host eq "www.$domain" because $domain is derived from $host.
Index: lib/Mail/SpamAssassin/Plugin/Redirectors.pm
===================================================================
--- lib/Mail/SpamAssassin/Plugin/Redirectors.pm (revision 1922028)
+++ lib/Mail/SpamAssassin/Plugin/Redirectors.pm (working copy)
@@ -720,7 +720,7 @@
# on the www domain
elsif($levels == 2 && $host =~ /^www.([^.]+.[^.]+)$/i) {
my $domain = $1;
- if(($host eq "www.$domain") and exists $conf->{url_redirector}->{$domain}) {
+ if(exists $conf->{url_redirector}->{$domain}) {
dbg("Found internal www redirection for domain $domain");
return {
'uri' => $uri,
Thanks
Kent
On Fri, Nov 22, 2024 at 10:01 AM, gbechis@apache.org wrote:
------------------------------------------------------------------------------------------------------------------
CAUTION: External email from: gbechis@apache.org
Use caution before clicking on links or opening attachments.
------------------------------------------------------------------------------------------------------------------
Author: gbechis
Date: Fri Nov 22 15:59:18 2024
New Revision: 1922027
URL: http://svn.apache.org/viewvc?rev=1922027&view=rev (http://svn.apache.org/viewvc?rev=1922027&view=rev)
Log:
always use the correct http method
prefer configured redirectors when searching for urls
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=1922027&r1=1922026&r2=1922027&view=diff (http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm?rev=1922027&r1=1922026&r2=1922027&view=diff)
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm Fri Nov 22 15:59:18 2024
@@ -720,18 +720,17 @@ sub _check_redirector_uri {
# on the www domain
elsif($levels == 2 && $host =~ /^www.([^.]+.[^.]+)$/i) {
my $domain = $1;
- if ($newuri = _check_querystring($params, $conf)) {
- return {
- 'uri' => $newuri,
- 'method' => 'head',
- };
- }
if(($host eq "www.$domain" (http://www.$domain)) and exists $conf->{url_redirector}->{$domain}) {
dbg("Found internal www redirection for domain $domain");
return {
'uri' => $uri,
'method' => $conf->{url_redirector}->{$domain} == 1 ? 'head' : 'get',
};
+ } elsif ($newuri = _check_querystring($params, $conf)) {
+ return {
+ 'uri' => $newuri,
+ 'method' => 'head',
+ };
}
}
# if domain is a 3rd level domain check if there is a url redirector
@@ -744,15 +743,19 @@ sub _check_redirector_uri {
};
}
elsif ($host =~ /(.[a-z0-9_]+(?:.[a-z0-9_]+)?.[a-z]+)$/i &&
- exists $conf->{url_redirector}->{$1}) {
+ exists $conf->{url_redirector}->{$1}) {
return {
'uri' => $uri,
'method' => $conf->{url_redirector}->{$1} == 1 ? 'head' : 'get',
};
} elsif ($newuri = _check_querystring($params, $conf)) {
+ my $nhost = $newuri;
+ if($nhost =~ /https?://(.*)/) {
+ $nhost = $1;
+ }
return {
'uri' => $newuri,
- 'method' => 'head',
+ 'method' => (exists($conf->{url_redirector}->{$nhost}) && ($conf->{url_redirector}->{$nhost} == 1)) ? 'head' : 'get',
};
} else {
dbg("No explicit redirector host found for $host");
Re: [BULK] svn commit: r1922027 - /spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm
Posted by gi...@paclan.it.
Committed, thanks
Giovanni
On 11/22/24 5:56 PM, Kent Oyer wrote:
> Hi Giovanni,
>
> I think you can eliminate the check $host eq "www.$domain" because $domain is derived from $host.
>
> Index: lib/Mail/SpamAssassin/Plugin/Redirectors.pm
> ===================================================================
> --- lib/Mail/SpamAssassin/Plugin/Redirectors.pm (revision 1922028)
> +++ lib/Mail/SpamAssassin/Plugin/Redirectors.pm (working copy)
> @@ -720,7 +720,7 @@
> # on the www domain
> elsif($levels == 2 && $host =~ /^www\.([^.]+\.[^.]+)$/i) {
> my $domain = $1;
> - if(($host eq "www.$domain") and exists $conf->{url_redirector}->{$domain}) {
> + if(exists $conf->{url_redirector}->{$domain}) {
> dbg("Found internal www redirection for domain $domain");
> return {
> 'uri' => $uri,
>
>
> Thanks
> Kent
>
> On Fri, Nov 22, 2024 at 10:01 AM, gbechis@apache.org wrote:
>
> ------------------------------------------------------------------------------------------------------------------
> CAUTION: External email from: gbechis@apache.org
> Use caution before clicking on links or opening attachments.
> ------------------------------------------------------------------------------------------------------------------
> Author: gbechis
> Date: Fri Nov 22 15:59:18 2024
> New Revision: 1922027
>
> URL: http://svn.apache.org/viewvc?rev=1922027&view=rev <http://svn.apache.org/viewvc?rev=1922027&view=rev>
> Log:
> always use the correct http method
> prefer configured redirectors when searching for urls
>
> 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=1922027&r1=1922026&r2=1922027&view=diff <http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm?rev=1922027&r1=1922026&r2=1922027&view=diff>
> ==============================================================================
> --- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm (original)
> +++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Redirectors.pm Fri Nov 22 15:59:18 2024
> @@ -720,18 +720,17 @@ sub _check_redirector_uri {
> # on the www domain
> elsif($levels == 2 && $host =~ /^www\.([^.]+\.[^.]+)$/i) {
> my $domain = $1;
> - if ($newuri = _check_querystring($params, $conf)) {
> - return {
> - 'uri' => $newuri,
> - 'method' => 'head',
> - };
> - }
> if(($host eq "www.$domain" <http://www.%24domain>) and exists $conf->{url_redirector}->{$domain}) {
> dbg("Found internal www redirection for domain $domain");
> return {
> 'uri' => $uri,
> 'method' => $conf->{url_redirector}->{$domain} == 1 ? 'head' : 'get',
> };
> + } elsif ($newuri = _check_querystring($params, $conf)) {
> + return {
> + 'uri' => $newuri,
> + 'method' => 'head',
> + };
> }
> }
> # if domain is a 3rd level domain check if there is a url redirector
> @@ -744,15 +743,19 @@ sub _check_redirector_uri {
> };
> }
> elsif ($host =~ /(\.[a-z0-9_]+(?:\.[a-z0-9_]+)?\.[a-z]+)$/i &&
> - exists $conf->{url_redirector}->{$1}) {
> + exists $conf->{url_redirector}->{$1}) {
> return {
> 'uri' => $uri,
> 'method' => $conf->{url_redirector}->{$1} == 1 ? 'head' : 'get',
> };
> } elsif ($newuri = _check_querystring($params, $conf)) {
> + my $nhost = $newuri;
> + if($nhost =~ /https?:\/\/(.*)/) {
> + $nhost = $1;
> + }
> return {
> 'uri' => $newuri,
> - 'method' => 'head',
> + 'method' => (exists($conf->{url_redirector}->{$nhost}) && ($conf->{url_redirector}->{$nhost} == 1)) ? 'head' : 'get',
> };
> } else {
> dbg("No explicit redirector host found for $host");
>