Skip Menu |

This queue is for tickets about the POE-Component-Client-DNS CPAN distribution.

Report information
The Basics
Id: 74909
Status: resolved
Priority: 0/
Queue: POE-Component-Client-DNS

People
Owner: Nobody in particular
Requestors: bugs [...] deegan.id.au
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: POE::Component::Client::DNS does not appear to respect resolv.conf search list
Date: Mon, 13 Feb 2012 14:40:59 +0800
To: bug-POE-Component-Client-DNS [...] rt.cpan.org
From: Michael Deegan <bugs [...] deegan.id.au>
Hello, As per the subject, I've discovered that unqualified names aren't being resolved correctly, much to my disappointment. This appears to be because Net::DNS::Resolver's bgsend() does not use the searchlist. I'm unsure whether this feature ought to be implemented within POE::Component::Client::DNS itself, or in Net::DNS::Resolver. Distribution is Debian lenny (libpoe-component-client-dns-perl 1:1.01-2 and libnet-dns-perl 0.63-2), though I also see the same behaviour under squeeze too (versions 1:1.051-1 and 0.66-2 respectively). Thanks, -MD -- ------------------------------------------------------------------------------- Michael Deegan Hugaholic http://www.deegan.id.au/ --------------------- Guvax bs vg nf ribyhgvba va npgvba. ---------------------
I'm inclined to delegate responsibility to Net::DNS' bgsend(), but I wouldn't necessarily turn down a well-formed patch. There's a larger problem, and that's that Net::DNS' bgsend() is pretty much a dumb, low-level feature. All the interesting stuff is layered over it in Net::DNS, in a blocking sort of way. Reproducing it for POE::Component::Client::DNS will involve someone reproducing Net::DNS or maybe pushing patches to Net::DNS to support better asynchronous usage. I'd prefer the second option. I'd rather delegate the features to a module with expertise on the subject. Marking as stalled for now, but I'm willing to discuss it more.
Resolved by POE::Component::Resolver, which acts much more like a proper resolver. POE::Component::Client::KeepAlive has switched to it a long time ago. POE::Component::Client::HTTP also uses it via the keep-alive component.