On Wed, 1 Apr 2009 14:01:30 -0400 Chuck Lever <chuck.lever@xxxxxxxxxx> wrote: > As far as I understand it, the ai_socktype and ai_protocol fields are > used to return the values needed for subsequent socket(2)/bind(2) > system calls. In this case you are not using these fields from the > results... > > If ai_protocol is zero, then getaddrinfo(3) assumes you want one copy > of the address for each supported protocol type, so it returns three > structures (one for IPPROTO_UDP, one for IPPROTO_TCP, and one with a > zero protocol number). The contents, except for the socktype and > protocol fields, are the same for each. > Hypothetical situation... Suppose there is a service in /etc/services that has a different port number for tcp than for udp: fooserv 50001/tcp fooserv 50002/udp You're saying that getaddrinfo will return the same port number in all of the returned structures? Won't that mean that one of the port numbers is wrong? That seems broken if so... If that's not the case, then I think we need to at least set the ai_protocol in the hints. -- Jeff Layton <jlayton@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html