Mailing List Archive

svn commit: r1888903 - in /spamassassin/branches/3.4/lib/Mail: SpamAssassin.pm SpamAssassin/Plugin/ASN.pm SpamAssassin/Plugin/AskDNS.pm SpamAssassin/Plugin/URIDNSBL.pm
Author: hege
Date: Sun Apr 18 14:42:09 2021
New Revision: 1888903

URL: http://svn.apache.org/viewvc?rev=1888903&view=rev
Log:
Bug 7881 - sa-learn queries uribl for already known messages
Prevent unnecessary DNS lookups on learning. Some backports from trunk.

Modified:
spamassassin/branches/3.4/lib/Mail/SpamAssassin.pm
spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/ASN.pm
spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/AskDNS.pm
spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm

Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin.pm?rev=1888903&r1=1888902&r2=1888903&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin.pm Sun Apr 18 14:42:09 2021
@@ -728,6 +728,9 @@ sub init_learner {
if (exists $opts->{$k}) { $self->{$v} = $opts->{$k}; }
}

+ # Set flag which can be checked from plugins etc
+ $self->{learning} = 1;
+
return \%ret;
}

@@ -757,6 +760,7 @@ Finish learning.
sub finish_learner {
my $self = shift;
$self->{bayes_scanner}->force_close(1) if $self->{bayes_scanner};
+ delete $self->{learning};
1;
}


Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/ASN.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/ASN.pm?rev=1888903&r1=1888902&r2=1888903&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/ASN.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/ASN.pm Sun Apr 18 14:42:09 2021
@@ -293,6 +293,11 @@ sub parsed_metadata {
return;
}

+ if ($self->{main}->{learning}) {
+ dbg("asn: learning message, skipping DNS-based ASN check");
+ return;
+ }
+
# initialize the tag data so that if no result is returned from the DNS
# query we won't end up with a missing tag. Don't use $pms->set_tag()
# here to avoid triggering any tag-dependent action unnecessarily

Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/AskDNS.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/AskDNS.pm?rev=1888903&r1=1888902&r2=1888903&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/AskDNS.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/AskDNS.pm Sun Apr 18 14:42:09 2021
@@ -371,7 +371,9 @@ sub parsed_metadata {
my $pms = $opts->{permsgstatus};
my $conf = $pms->{conf};

- return if !$pms->is_dns_available;
+ return if !$pms->is_dns_available();
+ return if $self->{main}->{learning};
+
$pms->{askdns_map_dnskey_to_rules} = {};

# walk through all collected askdns rules, obtain tag values whenever

Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm?rev=1888903&r1=1888902&r2=1888903&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm Sun Apr 18 14:42:09 2021
@@ -346,6 +346,7 @@ sub parsed_metadata {

return 0 if $conf->{skip_uribl_checks};
return 0 if !$pms->is_dns_available();
+ return 0 if $self->{main}->{learning};

$pms->{'uridnsbl_activerules'} = { };
$pms->{'uridnsbl_hits'} = { };