I just saw in the cvs web that you changed freeaddrinfo2 to not
have the hint af anymore, and use the one from the struct addrinfo
itself.

This can break things.  If you called getaddrinfo2() with
AF_UNSPEC, the version from the system can return an AF_UNIX
socket.  For instance glibc 2.1 will do that.

The reason freeaddrinfo2 had the hint_ai_family is because that's
how you know we called getaddrinfo_unix, and we allocated the
memory ourself there.

Could you please reverse that change?


Kurt


Mon, 9 Jun 2003 14:29:29 +0200
Kurt Roeckx <Q@ping.be>
freeaddrinfo2 changes.
Kurt Roeckx <Q@ping.be> writes:
> I just saw in the cvs web that you changed freeaddrinfo2 to not
> have the hint af anymore, and use the one from the struct addrinfo
> itself.

> This can break things.  If you called getaddrinfo2() with
> AF_UNSPEC, the version from the system can return an AF_UNIX
> socket.  For instance glibc 2.1 will do that.

If this is broken then it's probably not the only problem --- we rely on
sa.sa_family in other places.

			regards, tom lane

Mon, 09 Jun 2003 10:09:20 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: freeaddrinfo2 changes. 
On Mon, Jun 09, 2003 at 10:09:20AM -0400, Tom Lane wrote:
> Kurt Roeckx <Q@ping.be> writes:
> > I just saw in the cvs web that you changed freeaddrinfo2 to not
> > have the hint af anymore, and use the one from the struct addrinfo
> > itself.
> 
> > This can break things.  If you called getaddrinfo2() with
> > AF_UNSPEC, the version from the system can return an AF_UNIX
> > socket.  For instance glibc 2.1 will do that.
> 
> If this is broken then it's probably not the only problem --- we rely on
> sa.sa_family in other places.

sa.sa_family is not the problem itself, the problem is that if
you use getaddrinfo with AF_UNSPEC, you can get more than replies
with more than 1 address family. You will get atleast AF_INET,
AF_INET6 if they exist for what you request, and maybe AF_UNIX or
even others.



Kurt


Mon, 9 Jun 2003 19:18:34 +0200
Kurt Roeckx <Q@ping.be>
Re: freeaddrinfo2 changes.
Kurt Roeckx <Q@ping.be> writes:
>> If this is broken then it's probably not the only problem --- we rely on
>> sa.sa_family in other places.

> sa.sa_family is not the problem itself, the problem is that if
> you use getaddrinfo with AF_UNSPEC, you can get more than replies
> with more than 1 address family. You will get atleast AF_INET,
> AF_INET6 if they exist for what you request, and maybe AF_UNIX or
> even others.

Oh, I see --- the problem is to tell the difference between an AF_UNIX
addrinfo built by getaddrinfo_unix and one returned by the system's
getaddrinfo.  Okay.

			regards, tom lane

Mon, 09 Jun 2003 13:25:09 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: freeaddrinfo2 changes. 