Boost logo

Boost Users :

Subject: Re: [Boost-users] [asio] negating address_configured
From: Alexander Lamaison (awl03_at_[hidden])
Date: 2011-03-04 08:52:40


On Fri, 04 Mar 2011 14:30:36 +0100, Juraj Ivanèiæ wrote:

> On 4.3.2011 11:48, Alexander Lamaison wrote:
>> What is the correct way to negate the (default) resolver flag,
>> address_configured?
>>
>> On Windows, at least, specifying address_configured (which translates to
>> AI_ADDRCONFIG) has a nasty side effect. If the 'external' network is down,
>> the resolver can no longer resolve the "localhost" address. More here
>> http://src.chromium.org/viewvc/chrome/trunk/src/net/base/host_resolver.cc?r1=16212&r2=16211
>>
>> address_configured is the default flag for ip::basic_resolver_query so I
>> need to specify a flag that turns it off. In the underlying addrinfo
>> struct this would just mean specifying 0 as the flag but that isn't an
>> option with ASIO as far as I can tell. How would I do this?
>
> I ran into this problem, and came up with the following workaround:
>
> boost::asio::ip::tcp::resolver::query query(
> hostname,
> port,
> boost::asio::ip::tcp::resolver::query::all_matching
> );

Doesn't all_matching have it's own meaning? In other words, doesn't
getaddrinfo behave differently when given 0 as its flags rather than
AI_ALL?

MSDN says "If the AI_ALL bit is set, a request is made for IPv6 addresses
and IPv4 addressses with AI_V4MAPPED." which is as clear as mud to me.

Thanks.

Alex

-- 
Easy SFTP for Windows Explorer (http://www.swish-sftp.org)

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net