Re: qpsmtpd-async weird ParaDNS lookup problem + code fix

[email protected] (David Favor) Fri, 01 Aug 2014 09:57:44 -0500
Newsgroups perl.qpsmtpd
Message-ID <[email protected]>
Matt Sergeant wrote:
> Do you have ParaDNS::XS installed? If not, try installing it. It's 
> generally likely to be better than plain ParaDNS (and will be used 
> automatically if it's installed).

There is no ParaDNS::XS on cpan... At least nothing returned for...

     http://search.cpan.org/search?query=paradns&mode=all

Unsure what this has to do with setting a list of servers for ParaDNS
to query. Whether pure perl or XS, likely there still has to be a set
of servers to query.

The fix I'm using right now is a slight patch to Qpsmtpd/PollServer.pm
which simply gives ParaDNS a list of servers to check...

     my @nameservers = qw/127.0.0.1 8.8.8.8 8.8.4.4/;

     my $obj = ParaDNS->new(
         nameservers => \@nameservers,
         finished => sub { $self->continue_read(); $self->run_hooks("connect"); },
         # NB: Setting remote_info to the same as remote_host
         callback => sub { $conn->remote_info($conn->remote_host($_[0])); },
         host     => $ip,
     );

This works like a charm.

Reading through the ParaDNS code, it's unclear to me how qpsmtpd can work
at all without a list of servers for ParaDNS to query.