You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by km...@apache.org on 2017/08/09 21:52:10 UTC

svn commit: r1804612 - in /spamassassin/trunk: lib/Mail/SpamAssassin/Plugin/DKIM.pm rules/25_dkim.cf rules/50_scores.cf

Author: kmcgrail
Date: Wed Aug  9 21:52:09 2017
New Revision: 1804612

URL: http://svn.apache.org/viewvc?rev=1804612&view=rev
Log:
Bug 7416 patch from Dave Jones

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
    spamassassin/trunk/rules/25_dkim.cf
    spamassassin/trunk/rules/50_scores.cf

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm?rev=1804612&r1=1804611&r2=1804612&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm Wed Aug  9 21:52:09 2017
@@ -28,6 +28,7 @@ Taking into account signatures from any
  full   DKIM_SIGNED           eval:check_dkim_signed()
  full   DKIM_VALID            eval:check_dkim_valid()
  full   DKIM_VALID_AU         eval:check_dkim_valid_author_sig()
+ full   DKIM_VALID_EF         eval:check_dkim_valid_envelopefrom()
 
 Taking into account signatures from specified signing domains only:
 (quotes may be omitted on domain names consisting only of letters, digits,
@@ -55,6 +56,7 @@ Author Domain Signing Practices (ADSP) f
  describe DKIM_SIGNED   Message has a DKIM or DK signature, not necessarily valid
  describe DKIM_VALID    Message has at least one valid DKIM or DK signature
  describe DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain
+ describe DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain
  describe __DKIM_DEPENDABLE     A validation failure not attributable to truncation
 
  describe DKIM_ADSP_NXDOMAIN    Domain not in DNS and no valid author domain signature
@@ -149,6 +151,7 @@ sub new {
   $self->register_eval_rule("check_dkim_valid");
   $self->register_eval_rule("check_dkim_valid_author_sig");
   $self->register_eval_rule("check_dkim_testing");
+  $self->register_eval_rule("check_dkim_valid_envelopefrom");
 
   # author domain signing practices
   $self->register_eval_rule("check_dkim_adsp");
@@ -555,6 +558,21 @@ sub check_dkim_valid_author_sig {
   }
   return $result;
 }
+
+sub check_dkim_valid_envelopefrom {
+  my ($self, $pms, $full_ref) = @_;
+  my $result = 0;
+  my $envfrom=$self->{'main'}->{'registryboundaries'}->uri_to_domain($pms->get("EnvelopeFrom"));
+  # if no envelopeFrom, it cannot be valid
+  return $result if !$envfrom;
+  $self->_check_dkim_signature($pms)  if !$pms->{dkim_checked_signature};
+  if (!$pms->{dkim_valid}) {
+    # don't bother
+  } else {
+    $result = $self->_check_dkim_signed_by($pms,1,0,[$envfrom]);
+  }
+  return $result;
+}
 
 sub check_dkim_dependable {
   my ($self, $pms) = @_;

Modified: spamassassin/trunk/rules/25_dkim.cf
URL: http://svn.apache.org/viewvc/spamassassin/trunk/rules/25_dkim.cf?rev=1804612&r1=1804611&r2=1804612&view=diff
==============================================================================
--- spamassassin/trunk/rules/25_dkim.cf (original)
+++ spamassassin/trunk/rules/25_dkim.cf Wed Aug  9 21:52:09 2017
@@ -30,6 +30,7 @@ ifplugin Mail::SpamAssassin::Plugin::DKI
 full   DKIM_SIGNED		eval:check_dkim_signed()
 full   DKIM_VALID		eval:check_dkim_valid()
 full   DKIM_VALID_AU		eval:check_dkim_valid_author_sig()
+full   DKIM_VALID_EF		eval:check_dkim_valid_envelopefrom()
 full   __DKIM_DEPENDABLE	eval:check_dkim_dependable()
 
 header DKIM_ADSP_NXDOMAIN	eval:check_dkim_adsp('N')
@@ -46,6 +47,7 @@ header DKIM_ADSP_CUSTOM_HIGH	eval:check_
 tflags DKIM_SIGNED		net
 tflags DKIM_VALID		net nice
 tflags DKIM_VALID_AU		net nice
+tflags DKIM_VALID_EF		net nice
 tflags DKIM_ADSP_NXDOMAIN	net
 tflags DKIM_ADSP_DISCARD	net
 tflags DKIM_ADSP_ALL		net
@@ -56,6 +58,7 @@ tflags DKIM_ADSP_CUSTOM_HIGH	net usercon
 describe DKIM_SIGNED		Message has a DKIM or DK signature, not necessarily valid
 describe DKIM_VALID		Message has at least one valid DKIM or DK signature
 describe DKIM_VALID_AU		Message has a valid DKIM or DK signature from author's domain
+describe DKIM_VALID_EF		Message has a valid DKIM or DK signature from envelope-from domain
 describe __DKIM_DEPENDABLE	A validation failure not attributable to truncation
 
 describe DKIM_ADSP_NXDOMAIN	No valid author signature and domain not in DNS

Modified: spamassassin/trunk/rules/50_scores.cf
URL: http://svn.apache.org/viewvc/spamassassin/trunk/rules/50_scores.cf?rev=1804612&r1=1804611&r2=1804612&view=diff
==============================================================================
--- spamassassin/trunk/rules/50_scores.cf (original)
+++ spamassassin/trunk/rules/50_scores.cf Wed Aug  9 21:52:09 2017
@@ -729,6 +729,7 @@ score USER_IN_DEF_DKIM_WL -7.500
 score DKIM_SIGNED 0.1
 score DKIM_VALID -0.1
 score DKIM_VALID_AU -0.1
+score DKIM_VALID_EF -0.1
 score DKIM_VERIFIED 0
 score DKIM_POLICY_SIGNALL 0
 score DKIM_POLICY_SIGNSOME 0