1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

Missing server address again leads to localhost being used

This commit is contained in:
Ulrich Drepper
2010-08-25 07:43:53 -07:00
parent 090555538d
commit df24a73ecd
2 changed files with 30 additions and 26 deletions

View File

@ -1,3 +1,9 @@
2010-08-25 Ulrich Drepper <drepper@redhat.com>
[BZ #10851]
* resolv/res_init.c (__res_vinit): When no server address at all
is given default to loopback.
2010-08-24 Roland McGrath <roland@redhat.com>
* configure.in: Remove config-name.h generation.

View File

@ -176,13 +176,6 @@ __res_vinit(res_state statp, int preinit) {
statp->id = res_randomid();
}
#ifdef USELOOPBACK
statp->nsaddr.sin_addr = inet_makeaddr(IN_LOOPBACKNET, 1);
#else
statp->nsaddr.sin_addr.s_addr = INADDR_ANY;
#endif
statp->nsaddr.sin_family = AF_INET;
statp->nsaddr.sin_port = htons(NAMESERVER_PORT);
statp->nscount = 0;
statp->ndots = 1;
statp->pfcode = 0;
@ -433,6 +426,11 @@ __res_vinit(res_state statp, int preinit) {
#endif
(void) fclose(fp);
}
if (__builtin_expect(statp->nscount == 0, 0)) {
statp->nsaddr.sin_addr = inet_makeaddr(IN_LOOPBACKNET, 1);
statp->nsaddr.sin_family = AF_INET;
statp->nsaddr.sin_port = htons(NAMESERVER_PORT);
}
if (statp->defdname[0] == 0 &&
__gethostname(buf, sizeof(statp->defdname) - 1) == 0 &&
(cp = strchr(buf, '.')) != NULL)