Bill,

> Mark, I patched Dns.pm but this didn't resolve the issue for me.
> You can test with the sample messages I posted to bugzilla:
> http://issues.apache.org/SpamAssassi...ug.cgi?id=5506


Yes, it is the same problem as I describe in
http://issues.apache.org/SpamAssassi...ug.cgi?id=5511
but to fix it requires my 'feature request' to be implemented:

Now for the last part - a feature request. I think that no attempt
has been made to collect already received DNS responses when
timeout is reached. Given an asynchronous nature of DNS lookups
in this module, I think it would be worthwhile to collect whatever
is still in the IP receive queue after a timeout.



The problem with BOTNET is that it tries to do a reverse DNS
lookup on 66.17.235.109, which has broken DNS servers and
none are reachable, so it hangs in sub get_rdns query($ip,'PTR','IN')
for 24 seconds.

After BOTNET finally times out, the Dns.pm harvest_dnsbl_queries
tries to collect its RBL results, but abandons all attempts right away
because it sees that 24 seconds has passed by and just declares
them timed out, despite the fact that DNS results are waiting
in TCP/IP received queue.

Mark