On Sun, 4 Mar 2001, Arkadiusz Miskiewicz wrote: > > > AI_ADDRCONFIG is what you need: > > > > No, the original goal was to mask the differing bind behavior of USAGI and > > stock Linux. AI_ADDRCONFIG doesn't really help that at all.
> I was talking about getaddrinfo() only. Problem with different bind behaviours > is that there is no standard about this. So was I. The trick is that if you request a passive socket from getaddrinfo, it should return a list of sockets that should *all* be bound. So on stock linux, a AI_PASSIVE request for a wild card adress on a v6 capable kernel will return only a wild card v6 address. On a USAGI system (bsd et al) AI_PASSIVE for a wild card address will return v4 and v6 wildcards which must both be bound. This hides the functional difference behind the standard interface and lets everything work nicely. Jason