Author: fkento
Date: Sat Mar 7 07:37:13 2026
New Revision: 1932206
Log:
Add noskip tflag
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AskDNS.pm
spamassassin/trunk/rulesrc/sandbox/pds/20_dkimwl.cf
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AskDNS.pm
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AskDNS.pm Sat Mar 7 04:20:02 2026 (r1932205)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AskDNS.pm Sat Mar 7 07:37:13 2026 (r1932206)
@@ -34,7 +34,11 @@ record type and optional subrule filteri
if a response meets filtering conditions.
Any host or its domain part matching uridnsbl_skip_domains is ignored
-by default.
+by default. To bypass this check for specific rules, use the C<noskip>
+tflag:
+
+ askdns MY_RULE _AUTHORDOMAIN_.dbl.example.com A 127.0.1.2
+ tflags MY_RULE noskip
=head1 RULE DEFINITIONS AND PRIVILEGED SETTINGS
@@ -398,9 +402,11 @@ sub launch_queries {
my $arule = $pms->{conf}->{askdns}{$rulename};
my $query_tmpl = $arule->{query};
+ my $noskip = ($pms->{conf}->{tflags}->{$rulename}||'') =~ /\bnoskip\b/;
my $queries;
if (@$tags) {
- if (!exists $pms->{askdns_qtmpl_cache}{$query_tmpl}) {
+ my $cache_key = $noskip ? "noskip\x00$query_tmpl" : $query_tmpl;
+ if (!exists $pms->{askdns_qtmpl_cache}{$cache_key}) {
# replace tags in query template
# iterate through each tag, replacing list of strings as we go
my %q_iter = ( "$query_tmpl" => 1 );
@@ -420,14 +426,16 @@ sub launch_queries {
foreach my $q (keys %q_iter) {
# handle space separated multi-valued tags
foreach my $val (@{$pms->{askdns_tag_cache}{$tag}}) {
- if (exists $pms->{conf}->{uridnsbl_skip_domains}->{lc $val}) {
- dbg("askdns: query skipped, uridnsbl_skip_domains: $val");
- next;
- }
- my $dom = $pms->{main}->{registryboundaries}->trim_domain($val);
- if (exists $pms->{conf}->{uridnsbl_skip_domains}->{lc $dom}) {
- dbg("askdns: query skipped, uridnsbl_skip_domains: $val");
- next;
+ if (!$noskip) {
+ if (exists $pms->{conf}->{uridnsbl_skip_domains}->{lc $val}) {
+ dbg("askdns: query skipped, uridnsbl_skip_domains: $val");
+ next;
+ }
+ my $dom = $pms->{main}->{registryboundaries}->trim_domain($val);
+ if (exists $pms->{conf}->{uridnsbl_skip_domains}->{lc $dom}) {
+ dbg("askdns: query skipped, uridnsbl_skip_domains: $val");
+ next;
+ }
}
my $qtmp = $q;
$qtmp =~ s/\Q_${tag}_\E/${val}/g;
@@ -439,9 +447,9 @@ sub launch_queries {
# cache idn'd queries
my @q_arr;
push @q_arr, idn_to_ascii($_) foreach (keys %q_iter);
- $pms->{askdns_qtmpl_cache}{$query_tmpl} = \@q_arr;
+ $pms->{askdns_qtmpl_cache}{$cache_key} = \@q_arr;
}
- $queries = $pms->{askdns_qtmpl_cache}{$query_tmpl};
+ $queries = $pms->{askdns_qtmpl_cache}{$cache_key};
} else {
push @$queries, idn_to_ascii($query_tmpl);
}
Modified: spamassassin/trunk/rulesrc/sandbox/pds/20_dkimwl.cf
==============================================================================
--- spamassassin/trunk/rulesrc/sandbox/pds/20_dkimwl.cf Sat Mar 7 04:20:02 2026 (r1932205)
+++ spamassassin/trunk/rulesrc/sandbox/pds/20_dkimwl.cf Sat Mar 7 07:37:13 2026 (r1932206)
@@ -1,31 +1,31 @@
ifplugin Mail::SpamAssassin::Plugin::AskDNS
askdns __DKIMWL_FREEMAIL _DKIMDOMAIN_.lookup.dkimwl.org A /^127\.\d+\.3\.\d+$/
-tflags __DKIMWL_FREEMAIL net
+tflags __DKIMWL_FREEMAIL net noskip
reuse __DKIMWL_FREEMAIL
askdns __DKIMWL_BULKMAIL _DKIMDOMAIN_.lookup.dkimwl.org A /^127\.\d+\.2\.\d+$/
-tflags __DKIMWL_BULKMAIL net
+tflags __DKIMWL_BULKMAIL net noskip
reuse __DKIMWL_BULKMAIL
askdns __DKIMWL_WL_HI _DKIMDOMAIN_.lookup.dkimwl.org A /^127\.\d+\.\d+\.5$/
-tflags __DKIMWL_WL_HI net
+tflags __DKIMWL_WL_HI net noskip
reuse __DKIMWL_WL_HI
askdns __DKIMWL_WL_MEDHI _DKIMDOMAIN_.lookup.dkimwl.org A /^127\.\d+\.\d+\.4$/
-tflags __DKIMWL_WL_MEDHI net
+tflags __DKIMWL_WL_MEDHI net noskip
reuse __DKIMWL_WL_MEDHI
askdns __DKIMWL_WL_MED _DKIMDOMAIN_.lookup.dkimwl.org A /^127\.\d+\.\d+\.3$/
-tflags __DKIMWL_WL_MED net
+tflags __DKIMWL_WL_MED net noskip
reuse __DKIMWL_WL_MED
askdns __DKIMWL_WL_BL _DKIMDOMAIN_.lookup.dkimwl.org A /^127\.\d+\.\d+\.0$/
-tflags __DKIMWL_WL_BL net
+tflags __DKIMWL_WL_BL net noskip
reuse __DKIMWL_WL_BL
askdns __DKIMWL_BLOCKED _DKIMDOMAIN_.lookup.dkimwl.org A /^127\.255\.255\.255$/
-tflags __DKIMWL_BLOCKED net
+tflags __DKIMWL_BLOCKED net noskip
reuse __DKIMWL_BLOCKED
meta DKIMWL_WL_HIGH __DKIMWL_WL_HI && !(FREEMAIL_FROM || FREEMAIL_REPLYTO || FREEMAIL_FORGED_REPLYTO || __DKIMWL_FREEMAIL || __DKIMWL_BULKMAIL)
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.