On 6/7/07, Colm MacCarthaigh <[EMAIL PROTECTED]> wrote:
On Thu, Jun 07, 2007 at 12:24:07AM +0300, Lucian Adrian Grijincu wrote:
> 1. kill AI_ADDRCONFIG for APR_UNSPEC
In my opinion, AI_ADDRCONFIG is a useful default flag and prevents
unneccessary delay and lookups.
> 2. document "::1" and any other link-local addresses and hostnames as
> invalid if APR_UNSPEC is used.
This is not true, see my other mail.
> 3. retry without AI_ADDRCONFIG if first try fails
This sucks. I prefer this:
4. Add APR_NUMERIC_ADDRESS, and set the AI_NUMERICHOST hint, when
passed *don't* set AI_ADDRCONFIG. Document that people who
want to perform a literal IP translation - regardless of
connectivity - should use it.
E.g., if I want to turn "::1" into a structure I can use
and I totally don't care if I have general IPv6 connectivity
or if I even have connectivity to ::1 itself, I should use this
flag.
--
Colm MacCárthaigh Public Key: [EMAIL PROTECTED]
<snip from=man getaddrinfo(3)>
If hints.ai_flags contains the
AI_NUMERICHOST flag then the node parameter must be a numerical network
address. The AI_NUMERICHOST flag suppresses any potentially lengthy
network host address lookups.
</snip>
how does this work with string names like "localhost" too?
As I understand the APR interface that's misbehaving now needs to
support hostnames besides IPs represented as strings.
Suppose that a this string is read from the commandline as a
parameter. The app coder cannot pass this new APR_NUMERIC_ADDRESS
flag, because he doesn't know if the string he received is a name for
a link-local IP.
--
Lucian Adrian Grijincu