On 6/7/07, Colm MacCarthaigh 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: colm+pgp@stdlib.net > 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. 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