Colm MacCarthaigh wrote: > On Wed, Jun 06, 2007 at 08:32:12PM -0300, Davi Arnaut wrote: >> /Users/davi/gai $ ./gai -na ::1 >> getaddrinfo("::1", NULL, {.family=AF_UNSPEC, >> .hints=0|AI_ADDRCONFIG|AI_NUMERICHOST}) = 0: >> family=30, proto= 6 inet6: addr=::1, port=0, flowinfo=0 >> >> How come this succeeded? The system doesn't have any public ipv6, >> the only "configured" ipv6 address is ::1. > > AI_NUMERICHOST trumps AI_ADDRCONFIG on some platforms because people > infer that if you supply it you are being more specific in your request. > The technical reason is because the decision to make an AAAA query or > not is buried in their resolver code (*cough*, this may or may not be my > fault) , and that code never gets triggered when you use AI_NUMERICHOST. > > It's not strictly in the letter of rfc3493 though, it's a resolver bug.
Ok, ack. > >> /Users/davi/gai $ ./gai -na >> getaddrinfo(NULL, NULL, {.family=AF_UNSPEC, >> .hints=0|AI_ADDRCONFIG|AI_NUMERICHOST}) = -1: >> error: nodename nor servname provided, or not known > > Why wouldn't that fail? > Sorry, it should have been: getaddrinfo("::1", NULL, {.family=AF_UNSPEC, .hints=0|AI_ADDRCONFIG}) = 0: family=30, proto= 6 inet6: addr=::1, port=0, flowinfo=0 Last question (sorry for wasting your time), why this one succeeded? -- Davi Arnaut