Mauro Tortonesi <[EMAIL PROTECTED]> writes:

>> Note, however, that `host www.deepspace6.net' returns only the IPv4
>> address.
>
> not for me:
[...]

What package does your `host' come from?  Mine is from the
"bind9-host" package.

>> This discussion from 2003 seems to question the practical usefulness of 
>> AI_ADDRCONFIG: 
>>
>>     http://dict.regex.info/ipv6/v6ops/2003-10.mail/0146.html
>
> i agree with itojun when he says that AI_ADDRCONFIG semantics is too
> vague.

He does make a good point.  But, from an application's perspective,
AI_ADDRCONFIG represents an honest effort to spare IPv4-only users
useless IPv6 connect attempts.

What I mean is, even if the autodetection mandated by the standard is
vague and doesn't work, AI_ADDRCONFIG leaves a door for libc
implementors to allow system-wide configuration of IPv6 lookups.  For
example, the admin might specify in nsswitch.conf (or wherever) that
AI_ADDRCONFIG is to ignore AAAA records.  All AI_ADDRCONFIG-using
applications would pick this up automatically, and individual programs
would be free to ignore the advice by simply not using AI_ADDRCONFIG.
Everyone would win.

I'm not saying libraries will choose to implement any of this, but
using AI_ADDRCONFIG by default leaves it as a viable option.  (With
Wget you can achieve a similar effect by adding inet4only=yes to
/etc/wgetrc, but that only works for Wget.)

BTW what do you think of AI_DEFAULT, which suggests using AI_V4MAPPED
along with AI_ADDRCONFIG?  I don't see why we'd ever want to use
AI_V4MAPPED, since we don't need it for correct operation.

> but are you suggesting we should not use the AI_ADDRCONFIG hint at
> all in wget?

No -- using it doesn't break anything, and it can be of use to some
people.  I'm just kind of disappointed at how it falls short of its
stated goal in my (presumably not uncommon, at least on Linux) setup.

I bet people will mail us asking about the spurious IPv6 connects.  If
we were doing something wrong, we could at least promise to fix it,
but in this case we're doing everything right, and *that* results in
sub-standard behavior.  That is what annoys me.  :-)  The only solution
I can think of is to disable IPv6 at compile-time or making inet4only
default.  I'm not fond of either option, as I'm sure you aren't either.

Maybe the manual should be updated to mention this issue.  (Speaking
of the manual, I now see that IPv6 options are totally undocumented.
I'll fix it.)

Reply via email to