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

[email protected] (David Favor) Mon, 22 Sep 2014 10:52:42 -0500
Newsgroups perl.qpsmtpd
Message-ID <[email protected]>
This was meant as a qpsmtpd bug to be fixed. I can't see how this
ever worked, without a list of DNS servers to pull from.

ParaDNS is working fine.

Matt Sergeant wrote:
> 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.
>>
>>