View | Details | Raw Unified | Return to bug 7831
Collapse All | Expand All

(-)a/lib/Mail/SpamAssassin/Plugin/DKIM.pm (-4 / +5 lines)
Lines 561-569 sub check_dkim_valid_author_sig { Link Here
561
sub check_dkim_valid_envelopefrom {
561
sub check_dkim_valid_envelopefrom {
562
  my ($self, $pms, $full_ref) = @_;
562
  my ($self, $pms, $full_ref) = @_;
563
  my $result = 0;
563
  my $result = 0;
564
  my $envfrom=$self->{'main'}->{'registryboundaries'}->uri_to_domain($pms->get("EnvelopeFrom"));
564
  my ( $envfrom ) = $pms->get("EnvelopeFrom:addr") =~ /@(\S*)/i;
565
  # if no envelopeFrom, it cannot be valid
565
  # if no envelopeFrom, it cannot be valid
566
  return $result if !$envfrom;
566
  return $result if !$envfrom;
567
  $envfrom = lc $envfrom;
567
  $self->_check_dkim_signature($pms)  if !$pms->{dkim_checked_signature};
568
  $self->_check_dkim_signature($pms)  if !$pms->{dkim_checked_signature};
568
  if (!$pms->{dkim_valid}) {
569
  if (!$pms->{dkim_valid}) {
569
    # don't bother
570
    # don't bother
Lines 720-726 sub _check_dkim_signed_by { Link Here
720
      next if $minimum_key_bits && $sig->{_spamassassin_key_size} &&
721
      next if $minimum_key_bits && $sig->{_spamassassin_key_size} &&
721
              $sig->{_spamassassin_key_size} < $minimum_key_bits;
722
              $sig->{_spamassassin_key_size} < $minimum_key_bits;
722
    }
723
    }
723
    my $sdid = $sig->domain;
724
    my ( $sdid ) = $sig->identity =~ /@(\S*)/;
724
    next if !defined $sdid;  # a signature with a missing required tag 'd' ?
725
    next if !defined $sdid;  # a signature with a missing required tag 'd' ?
725
    $sdid = lc $sdid;
726
    $sdid = lc $sdid;
726
    if ($must_be_author_domain_signature) {
727
    if ($must_be_author_domain_signature) {
Lines 909-915 sub _check_dkim_signature { Link Here
909
      push(@valid_signatures, $signature)  if $valid && !$expired;
910
      push(@valid_signatures, $signature)  if $valid && !$expired;
910
      # check if we have a potential Author Domain Signature, valid or not
911
      # check if we have a potential Author Domain Signature, valid or not
911
      my $d = $signature->domain;
912
      my ( $d ) = $signature->identity =~ /@(\S*)/;
912
      if (!defined $d) {
913
      if (!defined $d) {
913
        # can be undefined on a broken signature with missing required tags
914
        # can be undefined on a broken signature with missing required tags
914
      } else {
915
      } else {
Lines 1261-1267 sub _wlcheck_list { Link Here
1261
      }
1262
      }
1262
    }
1263
    }
1263
    my $sdid = $signature->domain;
1264
    my ( $sdid ) = $signature->identity =~ /@(\S+)/;
1264
    $sdid = lc $sdid  if defined $sdid;
1265
    $sdid = lc $sdid  if defined $sdid;
1265
    my %tried_authors;
1266
    my %tried_authors;

Return to bug 7831