diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-06-18 22:22:57 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-06-18 22:22:57 +0000 |
commit | ae1ad3aebbc397212b4bb2eec92ff19f8c1f913a (patch) | |
tree | b1ec4a328c2f5065d05e19ca024ed9be58dcf28c /resolv/res_init.c | |
parent | 3abee0b7f15aadf44f442ccdea30f0bdbe113293 (diff) | |
download | glibc-ae1ad3aebbc397212b4bb2eec92ff19f8c1f913a.tar.gz glibc-ae1ad3aebbc397212b4bb2eec92ff19f8c1f913a.tar.xz glibc-ae1ad3aebbc397212b4bb2eec92ff19f8c1f913a.zip |
[BZ #4647]
Tomas Janousek <tjanouse@redhat.com> Ulrich Drepper <drepper@redhat.com> [BZ #4647] * resolv/res_send.c (send_dg): Remove socket_pf. Use ipv6_unavail member in __res_state, only convaddr4to6 if nssocks[ns] is a PF_INET6 socket. * resolv/resolv.h (__res_state): Add ipv6_unavail member. Make unused member a bitmap. * resolv/res_init.c (__res_vinit): Reset ipv6_unavail if IPv6 servers are configured. 2007-06-18 Jakub Jelinek <jakub@redhat.com>
Diffstat (limited to 'resolv/res_init.c')
-rw-r--r-- | resolv/res_init.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/resolv/res_init.c b/resolv/res_init.c index 640e087920..d1a5681a93 100644 --- a/resolv/res_init.c +++ b/resolv/res_init.c @@ -241,8 +241,8 @@ __res_vinit(res_state statp, int preinit) { line[sizeof(name) - 1] == '\t')) if ((fp = fopen(_PATH_RESCONF, "rc")) != NULL) { - /* No threads use this stream. */ - __fsetlocking (fp, FSETLOCKING_BYCALLER); + /* No threads use this stream. */ + __fsetlocking (fp, FSETLOCKING_BYCALLER); /* read the config file */ while (fgets_unlocked(buf, sizeof(buf), fp) != NULL) { /* skip comments */ @@ -397,8 +397,11 @@ __res_vinit(res_state statp, int preinit) { if (nserv > 1) statp->nscount = nserv; #ifdef _LIBC - if (nservall - nserv > 0) + if (nservall - nserv > 0) { statp->_u._ext.nscount6 = nservall - nserv; + /* We try IPv6 servers again. */ + statp->ipv6_unavail = false; + } #endif #ifdef RESOLVSORT statp->nsort = nsort; |