Fix bug in dnsbl that made it sometimes ignore "hits" (thanks to

James H. Thompson <jht@lava.net>)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@148 958fd67b-6ff1-0310-b445-bb7760255be9
This commit is contained in:
Ask Bjørn Hansen 2003-06-10 10:03:58 +00:00
parent 2999d7cccd
commit 03e00bfb23
2 changed files with 16 additions and 4 deletions

View File

@ -1,5 +1,12 @@
0.26-dev 0.26-dev
Add queue/smtp-forward plugin (Matt Sergeant)
Add documentation to Qpsmtpd::Transaction (Matt Sergeant)
Fix bug in dnsbl that made it sometimes ignore "hits" (thanks to
James H. Thompson <jht@lava.net>)
Fix bug hiding the error message when an existing configuration file Fix bug hiding the error message when an existing configuration file
isn't readable. isn't readable.

View File

@ -47,8 +47,8 @@ sub process_sockets {
$self->log(8, "waiting for dnsbl dns"); $self->log(8, "waiting for dnsbl dns");
# don't wait more than 5 seconds here # don't wait more than 4 seconds here
my @ready = $sel->can_read(5); my @ready = $sel->can_read(4);
$self->log(8, "DONE waiting for dnsbl dns, got " , scalar @ready, " answers ...") ; $self->log(8, "DONE waiting for dnsbl dns, got " , scalar @ready, " answers ...") ;
return '' unless @ready; return '' unless @ready;
@ -79,8 +79,11 @@ sub process_sockets {
unless $res->errorstring eq "NXDOMAIN"; unless $res->errorstring eq "NXDOMAIN";
} }
last if $result; if ($result) {
#kill any other pending I/O
$conn->notes('dnsbl_sockets', undef);
return $conn->notes('dnsbl', $result);
}
} }
if ($sel->count) { if ($sel->count) {
@ -88,6 +91,8 @@ sub process_sockets {
return $self->process_sockets(); return $self->process_sockets();
} }
# er, the following code doesn't make much sense anymore...
# if there was more to read; then forget it # if there was more to read; then forget it
$conn->notes('dnsbl_sockets', undef); $conn->notes('dnsbl_sockets', undef);