You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2019/08/06 10:09:01 UTC
svn commit: r1864489 - in /spamassassin:
branches/3.4/lib/Mail/SpamAssassin/Plugin/DNSEval.pm
branches/3.4/lib/Mail/SpamAssassin/Plugin/HashBL.pm
trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm
trunk/lib/Mail/SpamAssassin/Plugin/HashBL.pm
Author: hege
Date: Tue Aug 6 10:09:01 2019
New Revision: 1864489
URL: http://svn.apache.org/viewvc?rev=1864489&view=rev
Log:
Fix some dns availability checks
Modified:
spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/DNSEval.pm
spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HashBL.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HashBL.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=1864489&r1=1864488&r2=1864489&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/DNSEval.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/DNSEval.pm Tue Aug 6 10:09:01 2019
@@ -233,7 +233,6 @@ sub check_rbl_backend {
# First check that DNS is available, if not do not perform this check
return 0 if $self->{main}->{conf}->{skip_rbl_checks};
return 0 unless $pms->is_dns_available();
- $pms->load_resolver();
if (($rbl_server !~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/) &&
(index($rbl_server, '.') >= 0) &&
@@ -404,6 +403,9 @@ sub check_rbl_from_host {
sub check_rbl_headers {
my ($self, $pms, $rule, $set, $rbl_server, $subtest, $test_headers) = @_;
+ return 0 if $self->{main}->{conf}->{skip_rbl_checks};
+ return 0 if !$pms->is_dns_available();
+
my @env_hdr;
my $conf = $self->{main}->{conf};
@@ -464,8 +466,8 @@ sub check_rbl_ns_from {
my $domain;
my @nshost = ();
+ return 0 if $self->{main}->{conf}->{skip_rbl_checks};
return 0 unless $pms->is_dns_available();
- $pms->load_resolver();
for my $from ($pms->get('EnvelopeFrom:addr')) {
next unless defined $from;
@@ -600,8 +602,6 @@ sub _check_rbl_addresses {
}
return unless scalar keys %hosts;
- $pms->load_resolver();
-
if (($rbl_server !~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/) &&
(index($rbl_server, '.') >= 0) &&
($rbl_server !~ /\.$/)) {
@@ -623,6 +623,9 @@ sub _check_rbl_addresses {
sub check_dns_sender {
my ($self, $pms, $rule) = @_;
+ return 0 if $self->{main}->{conf}->{skip_rbl_checks};
+ return 0 unless $pms->is_dns_available();
+
my $host;
for my $from ($pms->get('EnvelopeFrom:addr',undef)) {
next unless defined $from;
@@ -635,11 +638,6 @@ sub check_dns_sender {
}
return 0 unless defined $host;
- # First check that DNS is available, if not do not perform this check
- # TODO: need a way to skip DNS checks as a whole in configuration
- return 0 unless $pms->is_dns_available();
- $pms->load_resolver();
-
if ($host eq 'compiling.spamassassin.taint.org') {
# only used when compiling
return 0;
Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HashBL.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HashBL.pm?rev=1864489&r1=1864488&r2=1864489&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HashBL.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/HashBL.pm Tue Aug 6 10:09:01 2019
@@ -234,6 +234,7 @@ sub finish_parsing_end {
my ($self, $opts) = @_;
return 0 if !$self->{hashbl_available};
+ return 0 if !$opts->{permsgstatus}->is_dns_available();
# valid_tlds_re will be available at finish_parsing_end, compile it now,
# we only need to do it once and before possible forking
@@ -371,6 +372,7 @@ sub check_hashbl_emails {
my ($self, $pms, $list, $opts, $from, $subtest, $acl) = @_;
return 0 if !$self->{hashbl_available};
+ return 0 if !$pms->is_dns_available();
return 0 if !$self->{email_re};
my $rulename = $pms->get_current_eval_rule_name();
@@ -448,6 +450,7 @@ sub check_hashbl_uris {
my @filtered_uris;
return 0 if !$self->{hashbl_available};
+ return 0 if !$pms->is_dns_available();
my $rulename = $pms->get_current_eval_rule_name();
@@ -512,6 +515,7 @@ sub check_hashbl_bodyre {
my ($self, $pms, $bodyref, $list, $opts, $re, $subtest) = @_;
return 0 if !$self->{hashbl_available};
+ return 0 if !$pms->is_dns_available();
my $rulename = $pms->get_current_eval_rule_name();
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm?rev=1864489&r1=1864488&r2=1864489&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm Tue Aug 6 10:09:01 2019
@@ -164,6 +164,9 @@ sub parsed_metadata {
my $pms = $opts->{permsgstatus};
+ return 1 if $self->{main}->{conf}->{skip_rbl_checks};
+ return 1 if !$pms->is_dns_available();
+
# Process relaylists only once, not everytime in check_rbl_backend
#
# ok, make a list of all the IPs in the untrusted set
@@ -371,6 +374,7 @@ sub check_rbl {
return 0 if $self->{main}->{conf}->{skip_rbl_checks};
return 0 if !$pms->is_dns_available();
+
$self->check_rbl_backend($pms, $rule, $set, $rbl_server, 'A', $subtest);
}
@@ -403,6 +407,9 @@ sub check_rbl_from_host {
sub check_rbl_headers {
my ($self, $pms, $rule, $set, $rbl_server, $subtest, $test_headers) = @_;
+ return 0 if $self->{main}->{conf}->{skip_rbl_checks};
+ return 0 if !$pms->is_dns_available();
+
my @env_hdr;
my $conf = $self->{main}->{conf};
@@ -469,6 +476,7 @@ sub check_rbl_ns_from {
my $domain;
my @nshost = ();
+ return 0 if $self->{main}->{conf}->{skip_rbl_checks};
return 0 unless $pms->is_dns_available();
for my $from ($pms->get('EnvelopeFrom:addr')) {
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HashBL.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HashBL.pm?rev=1864489&r1=1864488&r2=1864489&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HashBL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HashBL.pm Tue Aug 6 10:09:01 2019
@@ -235,6 +235,7 @@ sub finish_parsing_end {
my ($self, $opts) = @_;
return 0 if !$self->{hashbl_available};
+ return 0 if !$pms->is_dns_available();
# valid_tlds_re will be available at finish_parsing_end, compile it now,
# we only need to do it once and before possible forking
@@ -372,6 +373,7 @@ sub check_hashbl_emails {
my ($self, $pms, $list, $opts, $from, $subtest, $acl) = @_;
return 0 if !$self->{hashbl_available};
+ return 0 if !$pms->is_dns_available();
return 0 if !$self->{email_re};
my $rulename = $pms->get_current_eval_rule_name();
@@ -449,6 +451,7 @@ sub check_hashbl_uris {
my @filtered_uris;
return 0 if !$self->{hashbl_available};
+ return 0 if !$pms->is_dns_available();
my $rulename = $pms->get_current_eval_rule_name();
@@ -513,6 +516,7 @@ sub check_hashbl_bodyre {
my ($self, $pms, $bodyref, $list, $opts, $re, $subtest) = @_;
return 0 if !$self->{hashbl_available};
+ return 0 if !$pms->is_dns_available();
my $rulename = $pms->get_current_eval_rule_name();