curl-library
Re: pycurl/libcurl/c-ares dynamic /etc/resolv.conf
Date: Wed, 26 May 2010 00:27:26 -0700
Dima Q wrote:
> On 05/26/10 01:25, Daniel Stenberg wrote:
>> On Tue, 25 May 2010, Dima Tisnek wrote:
>>
>>> The long-running process tries to access the server, the lookup fails
>>> Later when a wireless network is discovered, I'd like to be able to
>>> get libcurl to talk to the server, but alas! the resolv data is
>>> cached somewhere and I can't get through to c-ares (or libc?) to
>>> re-read /etc/resolv.conf.
>>
>> libc usally provides such a function for the stock resolver, but
>> c-ares doesn't.
>>
>> This is a problem that we're aware of but it has not been solved yet...
>>
> I could come up with a patch along the lines of glibc patches (ubuntu,
> fedora) where system config files are stat()ed and if needed, reloaded
> on every init. That would only work on unix, so advice on how to guard
> the changes from other platforms is appreciated.
In my experience, it's better not to have a dynamic /etc/resolv.conf at all.
Instead, run a local caching DNS server and hardwire /etc/resolv.conf to point
to localhost. On my machines I run dnsmasq with its DBUS interface enabled. I
have NetworkManager patched to send the current list of DNS servers to dnsmasq
whenever NM connects to a network. It's a much more reliable solution and no
unnecessary overhead.
-- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/ ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.htmlReceived on 2010-05-26