http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5511
------- Additional Comments From [EMAIL PROTECTED] 2007-06-14 17:46 ------- > I came up with something simple for starters, will check it out first > and report. Ok, here it comes, the attached patch applies on top of my previous one. This one is quite simple: if harvest_dnsbl_queries() happens to be called very late - when rbl_timeout has already expired - then extend the deadline for an additional second so that dns responses (which are likely to be already waiting in a TCP/IP receive queue) can be collected. Btw, the %f formatting in a debug printout is in preparation for possible future adoption of Time::HiRes more widely (currently some modules use it if available, otherwise they fall back to a builtin time() ). Having more precise time would be nice here as well, when dealing with near- one second intervals. Back to the problem the patch is fixing: Such a situation occurs usually when Razor or Dcc servers are unresponsive, or when rules take long time to compute (longer than rbl_tmeout), or when Botnet gets stuck on checking a rDNS on some IP with broken DNS servers. Previously this caused all RBL and URIBL responses to be ignored. Btw, initially I had something more sophisticated in mind (like using a select to see if a receive queue is empty), but this could potentially open up a DoS hole by arbitrarily extending processing time by throwing bogus DNS responses to SA, so some additional time limit would still be needed - which brings us back to the simple solution. ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.
