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 2018/05/11 19:44:30 UTC
svn commit: r1831443 - in /spamassassin:
branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
Author: gbechis
Date: Fri May 11 19:44:30 2018
New Revision: 1831443
URL: http://svn.apache.org/viewvc?rev=1831443&view=rev
Log:
fix fp for FORGED_GMAIL_RCVD rule
Modified:
spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm?rev=1831443&r1=1831442&r2=1831443&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm Fri May 11 19:44:30 2018
@@ -583,16 +583,25 @@ sub check_for_forged_juno_received_heade
sub check_for_forged_gmail_received_headers {
my ($self, $pms) = @_;
- use constant GOOGLE_MESSAGE_STATE_LENGTH => 102;
+ use constant GOOGLE_MESSAGE_STATE_LENGTH_MIN => 80;
+ use constant GOOGLE_SMTP_SOURCE_LENGTH_MIN => 90;
my $from = $pms->get('From:addr');
if ($from !~ /\bgmail\.com$/i) { return 0; }
my $xgms = $pms->get('X-Gm-Message-State');
+ my $xss = $pms->get('X-Google-Smtp-Source');
my $xreceived = $pms->get('X-Received');
+ my $received = $pms->get('Received');
- if (length($xgms) eq GOOGLE_MESSAGE_STATE_LENGTH) { return 0; }
if ($xreceived =~ /by 10\.\S+ with SMTP id \S+/) { return 0; }
+ if ($received =~ /by smtp\.googlemail\.com with ESMTPSA id \S+/) {
+ return 0;
+ }
+ if ( (length($xgms) gt GOOGLE_MESSAGE_STATE_LENGTH_MIN) &&
+ (length($xss) gt GOOGLE_SMTP_SOURCE_LENGTH_MIN)) {
+ return 0;
+ }
return 1;
}
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm?rev=1831443&r1=1831442&r2=1831443&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm Fri May 11 19:44:30 2018
@@ -595,16 +595,25 @@ sub check_for_forged_juno_received_heade
sub check_for_forged_gmail_received_headers {
my ($self, $pms) = @_;
- use constant GOOGLE_MESSAGE_STATE_LENGTH => 102;
+ use constant GOOGLE_MESSAGE_STATE_LENGTH_MIN => 80;
+ use constant GOOGLE_SMTP_SOURCE_LENGTH_MIN => 90;
my $from = $pms->get('From:addr');
if ($from !~ /\bgmail\.com$/i) { return 0; }
my $xgms = $pms->get('X-Gm-Message-State');
+ my $xss = $pms->get('X-Google-Smtp-Source');
my $xreceived = $pms->get('X-Received');
+ my $received = $pms->get('Received');
- if (length($xgms) eq GOOGLE_MESSAGE_STATE_LENGTH) { return 0; }
if ($xreceived =~ /by 10\.\S+ with SMTP id \S+/) { return 0; }
+ if ($received =~ /by smtp\.googlemail\.com with ESMTPSA id \S+/) {
+ return 0;
+ }
+ if ( (length($xgms) gt GOOGLE_MESSAGE_STATE_LENGTH_MIN) &&
+ (length($xss) gt GOOGLE_SMTP_SOURCE_LENGTH_MIN)) {
+ return 0;
+ }
return 1;
}