I'm using an internal URIBL, configured like so:
urirhssub SAFF_EXAMPLE rbl.example.com. A 127.0.0.8
body SAFF_EXAMPLE eval:check_uridnsbl('SAFF_EXAMPLE')
describe SAFF_EXAMPLE Example RBL hit 8
Running with the above configuration causes spamd to log:
warn: Argument "127.0.0.8" isn't numeric in bitwise or (|) at /usr/
lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/Plugin/URIDNSBL.pm line
614, <GEN10> line 39.
My configuration appears legal based on the docs:
urirhssub NAME_OF_RULE rhsbl_zone lookuptype subtest
[ ... ]
subtest is the sub-test to run against the returned data. The sub-
test may either be an IPv4 dotted address for RHSBLs that return
multiple A records, a non-negative decimal number to specify a
bitmask for RHSBLs that return a single A record containing a bitmask
of results, or (if none of the preceding options seem to fit) a
regular expression.
However, URIDNSBL.pm, on line 614, does this:
$uridnsbl_subs_bits |= $_ for keys %{$uridnsbl_subs};
If I'm reading the code correctly, this bitwise or will break when
the subtest is an IP address or a regular expression.
The code in question was introduced here:
http://issues.apache.org/SpamAssassin/attachment.cgi?
id=2611&action=view
... in response to bug ID 3997.
Thoughts?
Thank you.
- Jason Parsons