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

[email protected] (Matt Sergeant) Thu, 7 Aug 2014 14:10:10 +0000 (UTC)
Newsgroups perl.qpsmtpd
Message-ID <[email protected]>
To be fair I don't do perl coding any more, so I'm happy for someone 
to take over ParaDNS maintainence.

ParaDNS-XS is in my SVN server. Happy to share that with anyone who wants 
it. It's basically ParaDNS using adns backend rather than Net::DNS. It's a 
bit hacky and probably doesn't work 100%

Matt.

On Fri, 1 Aug 2014, David Favor wrote:

> 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.
>
>