spamassassin-users December 2011 archive
Main Archive Page > Month Archives  > spamassassin-users archives
spamassassin-users: Re: Fwd: DNSWL will be disabled by default a

Re: Fwd: DNSWL will be disabled by default as of tomorrow

From: Karsten Bräckelmann <guenther_at_nospam>
Date: Tue Dec 13 2011 - 02:49:40 GMT
To: users@spamassassin.apache.org

On Mon, 2011-12-12 at 20:37 -0500, Kevin A. McGrail wrote:
> On 12/12/2011 8:35 PM, Sergio wrote:
> > (in case I don't want to wait until tomorrow)
> > What is the best way to dissable DNSWL manually?
>
> Add this to your local.cf and reload spamd (if you use that):
>
> score RCVD_IN_DNSWL_NONE 0
> score RCVD_IN_DNSWL_LOW 0
> score RCVD_IN_DNSWL_MED 0
> score RCVD_IN_DNSWL_HI 0

Oh, hello there, pet-peeve! You, too, forgot to eliminate the actual DNS
querying rule.

While the above works as advertised to disable the rules, preventing it
from FP hits, it does not prevent the DNS queries. For that, you got to
meta out the non-scoring sub-rule all of those above depend on.

Canonical instructions.

Identify your system's default configuration directory. A brave 'man
spamassassin' is your friend. Go there.

Grep for the DNSBL rules (or better yet, a brief sub-pattern) you want
to disable. Ignore the noise like score and description, and identify
the actual (sub-)rules.

Score the rules you want to disable with 0. AND meta out their sub-rule
dependencies, to actually get rid of the DNS queries.

  meta __DNSBL_FOO 0

Do NOT do that where you found the rules, but in your site-specific conf
dir. The mysterious thingy commonly referred to as 'local.cf'.

Just in case other rules might depend on the rules you want to disable
(again, a brave grep is your friend), also meta'ing out the rules in
question instead of scoring it zero is the better approach. No warnings
about dependencies with zero score.

Rules with a zero score are disabled, as a side-effect. Using meta rules
with a logical 0 is the exact definition of *disabling* a rule. By
overwriting whatever the rule does, with a "you will never be true"
logic evaluation of 0.

-- char *t="\10pse\0r\0dtu\0.@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4"; main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1: (c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}