diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/posix/getaddrinfo.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 5f9469acfa..27c491de9f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +1999-07-12 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/posix/getaddrinfo.c (gaih_inet): For non-passive + connections without a hostname set address to localhost address. + 1999-07-11 H.J. Lu <hjl@gnu.org> * nscd/grpcache.c: Add prefix "__" to get[a-z]*_r () to get diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index 6810963357..5c7c2f4121 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -380,9 +380,13 @@ gaih_inet (const char *name, const struct gaih_service *service, return -EAI_MEMORY; at->family = AF_INET6; + if ((req->ai_flags & AI_PASSIVE) == 0) + memcpy (at->addr, &in6addr_loopback, sizeof (struct in6_addr)); memset (at->next, 0, sizeof(struct gaih_addrtuple)); at->next->family = AF_INET; + if ((req->ai_flags & AI_PASSIVE) == 0) + *(uint32_t *) at->next->addr = htonl (INADDR_LOOPBACK); } if (pai == NULL) |