I've open a bug in which I noted my suspicion of what is happening.

https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8245

If you have a sanitized email that consistently causes this to happen, please attach it to the bug report.

As I said in the bug report, I suspect that an email that does not pass a DMARC chack, has one or more Authentication-Results headers, and none of them have an spf= field, would result in this error.

 Sidney


Mateusz Krawczyk wrote on 20/04/24 1:07 am:
Hello,

after updating SA 4.0.0 to 4.0.1, (CentOS 7 - Perl version 5.16.3) I get the following message in log regarding the DMARC plugin:

plugin: eval failed: Can't use an undefined value as an ARRAY reference at /usr/share/perl5/Mail/SpamAssassin/Plugin/DMARC.pm line 336.

File "DMARC.pm":

my $dmarc_arc_verified = 0;
  if (($result->result ne 'pass') and (ref($pms->{arc_verifier}) and ($pms->{arc_verifier}->result))) {
     undef $result;
     $dmarc_arc_verified = 1;
     # if DMARC fails retry by reading data from AAR headers
    # use Mail::SpamAssassin::Plugin::AuthRes if available to read ARC signature details _    my @spf_parsed = sort { ( $a->{authres_parsed}{spf}{arc_index} // 0 ) <=> ( $b->{authres_parsed}{spf}{arc_index} // 0 ) } @{$pms->{authres_parsed}{spf}};_
     my $old_arc_index = 0;

Any ideas how to solve it ?

Regards,
Mateusz

Reply via email to