You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by gb...@apache.org on 2019/05/04 15:45:34 UTC

svn commit: r1858605 - in /spamassassin: branches/3.4/lib/Mail/SpamAssassin/Plugin/DNSEval.pm trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm

Author: gbechis
Date: Sat May  4 15:45:34 2019
New Revision: 1858605

URL: http://svn.apache.org/viewvc?rev=1858605&view=rev
Log:
Add more checks to check_rbl_rcvd

Modified:
    spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/DNSEval.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm

Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/DNSEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/DNSEval.pm?rev=1858605&r1=1858604&r2=1858605&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/DNSEval.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/DNSEval.pm Sat May  4 15:45:34 2019
@@ -533,14 +533,21 @@ sub check_rbl_rcvd {
   my ($self, $pms, $rule, $set, $rbl_server, $subtest) = @_;
   my %seen;
   my $host;
+  my @udnsrcvd = ();
+
+  return 0 if $self->{main}->{conf}->{skip_rbl_checks};
+  return 0 if !$pms->is_dns_available();  
 
   my $rcvd = $pms->{relays_untrusted}->[$pms->{num_relays_untrusted} - 1];
   my @dnsrcvd = ( $rcvd->{ip}, $rcvd->{by}, $rcvd->{helo}, $rcvd->{rdns} );
   # unique values
-  my @udnsrcvd = grep { !$seen{$_}++ } @dnsrcvd;
+  foreach my $value (@dnsrcvd) {
+    if ( ( defined $value ) && (! $seen{$value}++ ) ) {
+      push @udnsrcvd, $value;
+    }
+  }
 
   foreach $host ( @udnsrcvd ) {
-    $host = $rcvd->{rdns};
     if((defined $host) and ($host ne "")) {
       chomp($host);
       if($host =~ /^$IP_ADDRESS/ ) {

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm?rev=1858605&r1=1858604&r2=1858605&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm Sat May  4 15:45:34 2019
@@ -539,14 +539,21 @@ sub check_rbl_rcvd {
   my ($self, $pms, $rule, $set, $rbl_server, $subtest) = @_;
   my %seen;
   my $host;
+  my @udnsrcvd = ();
+
+  return 0 if $self->{main}->{conf}->{skip_rbl_checks};
+  return 0 if !$pms->is_dns_available();
 
   my $rcvd = $pms->{relays_untrusted}->[$pms->{num_relays_untrusted} - 1];
   my @dnsrcvd = ( $rcvd->{ip}, $rcvd->{by}, $rcvd->{helo}, $rcvd->{rdns} );
   # unique values
-  my @udnsrcvd = grep { !$seen{$_}++ } @dnsrcvd;
+  foreach my $value (@dnsrcvd) {
+    if ( ( defined $value ) && (! $seen{$value}++ ) ) {
+      push @udnsrcvd, $value;
+    }
+  }
 
   foreach $host ( @udnsrcvd ) {
-    $host = $rcvd->{rdns};
     if((defined $host) and ($host ne "")) {
       chomp($host);
       if($host =~ /^$IP_ADDRESS/ ) {