(usagi-core 00277) Re: glibc-2.1.97 fixes from USAGI Project
yoshfuji@linux-ipv6.org
yoshfuji@linux-ipv6.org
Wed Nov 8 05:13:00 GMT 2000
Sorry for my late response,
In article < 200011070752.IAA00815@loewis.home.cs.tu-berlin.de > (at Tue, 7 Nov 2000 08:52:28 +0100), "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de> says:
> > compiled with
> > glibc-2.1 glibc-2.2
> > --------------------------------------------------
> > kernel 2.2 + glibc-2.1 buggy -
> > + glibc-2.2 ng buggy
> > + usagi-2.2 ok ok
> > kernel 2.4 + glibc-2.1 buggy -
> > + glibc-2.2 ng buggy
> > + usagi-2.2 ok ok
>
> For those of us not following IPv6 that closely, could you please
> elaborate on this table somewhat? Specifically, it appears that glibc
> 2.2 compiled applications, when used with glibc 2.2 on a kernel 2.4,
> are still buggy, and that they work fine when your patch is applied -
> IOW, there is are IPv6 bugs in glibc 2.1.9x.
Your interpretation is right.
> Can you please give an example for this bug? What kind of bug is it?
> (application crashes, does not work as expected, does not implement
> latest specification drafts, ...)
There're several bugs. Major things are:
a) getaddrinfo() (sysdeps/posix/getaddrinfo.c)
1. if a node has more that one inet6 addresses, it fills garbage
sin6_scope_id.[bug]
2. getaddrinfo() can return unexpected (protocol) sets.[bug]
3. raw socket are wrongly sticked with IPPROTO_RAW.[buggy]
b) getnameinfo() (inet/getnameinfo.c)
1. NI_NOFQDN flag is broken. current getnameinfo() checks this flag and
store appropriate result in the buffer but later it is overwritten
by fqdn.[bug]
2. check for sin6_scope_id is wrong; because of this,
getnameinfo() won't return scope-id in normal cases.[bug]
3. even if it tried to return scope-id, the result could not be correct;
its scope-delimiter was missing or it includes unexpected garbage
character, etc.[bug]
We're trying to prepare real example.
One possible code to is attatched to this mail.
(License of this code is GPL compatible.)
--
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org>
PGP5i FP: F731 6599 5EB2 BBA7 1515 1323 1806 A96F 5700 6B25
More information about the Libc-alpha
mailing list