You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2022/07/25 15:21:21 UTC
svn commit: r1903009 - /spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
Author: mmartinec
Date: Mon Jul 25 15:21:20 2022
New Revision: 1903009
URL: http://svn.apache.org/viewvc?rev=1903009&view=rev
Log:
MS::Plugin::DKIM : must not treat a selector "0" as missing! (also fixes warnings: call method "result_detail" on an undefined value)
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm?rev=1903009&r1=1903008&r2=1903009&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm Mon Jul 25 15:21:20 2022
@@ -1012,9 +1012,10 @@ sub _check_valid_signature {
foreach my $signature (@$signatures) {
# old versions of Mail::DKIM would give undef for an invalid signature
next if !defined $signature;
- next if !$signature->selector; # empty selector
+ $sig_result_supported = !! $signature->UNIVERSAL::can("result_detail");
+ # test for empty selector (must not treat a selector "0" as missing!)
+ next if !defined $signature->selector || $signature->selector eq "";
- $sig_result_supported = $signature->UNIVERSAL::can("result_detail");
my($info, $valid, $expired);
$valid =
($sig_result_supported ? $signature : $verifier)->result eq 'pass';
@@ -1395,9 +1396,10 @@ sub _wlcheck_list {
foreach my $signature (@{$pms->{dkim_signatures}}) {
# old versions of Mail::DKIM would give undef for an invalid signature
next if !defined $signature;
- next if !$signature->selector; # empty selector
+ my $sig_result_supported = !! $signature->UNIVERSAL::can("result_detail");
+ # test for empty selector (must not treat a selector "0" as missing!)
+ next if !defined $signature->selector || $signature->selector eq "";
- my $sig_result_supported = $signature->UNIVERSAL::can("result_detail");
my($info, $valid, $expired, $key_size_weak);
$valid =
($sig_result_supported ? $signature : $verifier)->result eq 'pass';