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

Reply via email to