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


Reply via email to