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") =~ /@([a-z0-9\-\.]*)/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 =~ /@(.*)/;
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
911
911
      # check if we have a potential Author Domain Signature, valid or not
912
      # check if we have a potential Author Domain Signature, valid or not
912
      my $d = $signature->domain;
913
      my ( $d ) = $signature->identity =~ /@(.*)/;
913
      if (!defined $d) {
914
      if (!defined $d) {
914
        # can be undefined on a broken signature with missing required tags
915
        # can be undefined on a broken signature with missing required tags
915
      } else {
916
      } else {
Lines 1261-1267 sub _wlcheck_list { Link Here
1261
      }
1262
      }
1262
    }
1263
    }
1263
1264
1264
    my $sdid = $signature->domain;
1265
    my ( $sdid ) = $signature->identity =~ /@(.*)/;
1265
    $sdid = lc $sdid  if defined $sdid;
1266
    $sdid = lc $sdid  if defined $sdid;
1266
1267
1267
    my %tried_authors;
1268
    my %tried_authors;

Return to bug 7831