After some delay, I have verified that postscreen_dnsbl_sites works
as promised: it adds up the scores from all matching patterns.
This verification required some infrastructure to test postscreen's
scoring code outside of postscreen. I have written a half-dozen
tests to ensure that future changes in hat code will not introduce
changes (i.e. mistakes).
Peter:
> First off my goal is that I want all zen.spamhaus.org entries to have a
> score of 3 except for CSS entries which should have a score of 2. zen
> returns 127.0.0.n for all entries and CSS specifically returns 127.0.0.3.
>
> What I think I can do is this:
>
> postscreen_dnsbl_sites = zen.spamhaus.org=127.0.0.[1..255]*3
> zen.spamhaus.org=127.0.0.3*-1
>
> So presumably if 127.0.0.3 is returned it will initially get a score of
> 3 but then decrement it by 1 so it ends up with a score of 2, so first
> question: Will this work the way I want it to?
postscreen takes the weight from each matching pattern, and adds
up those weights.
3 from zen.spamhaus.org=127.0.0.[1..255]*3 (because this pattern matches)
-1 from zen.spamhaus.org=127.0.0.3*-1 (because this pattern matches)
==+
2
It does not matter whether the patterns specify the same provider
domain or different domains. It only matters that a pattern matches.
> Next question: What happens if zen returns multiple responses:
> 127.0.0.10
> 127.0.0.3
>
> Will it score 2, 3, 5 or something else?
The same result as in the previous example.
3 from zen.spamhaus.org=127.0.0.[1..255]*3 (because this pattern matches)
-1 from zen.spamhaus.org=127.0.0.3*-1 (because this pattern matches)
==+
2
> What if I did this instead:
>
> postscreen_dnsbl_sites = zen.spamhaus.org=127.0.0.[1..2]*3
> zen.spamhaus.org=127.0.0.3*2
> zen.spamhaus.org=127.0.0.[4..255]*3
>
> How would that affect the answer to the above two questions?
0 from zen.spamhaus.org=127.0.0.[1..2]*3 (this pattern does not match)
2 from zen.spamhaus.org=127.0.0.3*2 (because this pattern matches)
3 from zen.spamhaus.org=127.0.0.[4..255]*3 (because this pattern matches)
=+
5
Again, the sum of the weigths of the matched patterns.
It means that
zen.spamhaus.org zen.spamhaus.org
is equivalent to zen.spamhaus.org*2
Another consequence is that the order of postscreen_dnsbl_sites
does not matter. It adds up all scores, and does not stop early.
Wietse