* sysdeps/posix/getaddrinfo.c (get_scope): Loopback addresses have

to be treated like link-local addresses.
This commit is contained in:
Ulrich Drepper 2008-05-14 22:33:51 +00:00
parent 1f0398248c
commit 5fab55441c
2 changed files with 7 additions and 1 deletions

View File

@ -1,5 +1,8 @@
2008-05-14 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c (get_scope): Loopback addresses have
to be treated like link-local addresses.
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Add _res_hconf_init
if necessary.

View File

@ -1112,7 +1112,10 @@ get_scope (const struct sockaddr_in6 *in6)
{
if (! IN6_IS_ADDR_MULTICAST (&in6->sin6_addr))
{
if (IN6_IS_ADDR_LINKLOCAL (&in6->sin6_addr))
if (IN6_IS_ADDR_LINKLOCAL (&in6->sin6_addr)
/* RFC 4291 2.5.3 says that the loopback address is to be
treated like a link-local address. */
|| IN6_IS_ADDR_LOOPBACK (&in6->sin6_addr))
scope = 2;
else if (IN6_IS_ADDR_SITELOCAL (&in6->sin6_addr))
scope = 5;