Return EAI_AGAIN for AF_UNSPEC when herrno is TRY_AGAIN (BZ #16849)
getaddrinfo correctly returns EAI_AGAIN for AF_INET and AF_INET6 queries. For AF_UNSPEC however, an older change (a682a1bf553b1efe4dbb03207fece5b719cec482) broke the check and due to that the returned error was EAI_NONAME. This patch fixes the check so that a non-authoritative not-found is returned as EAI_AGAIN to the user instead of EAI_NONAME.
This commit is contained in:
parent
a5d87b3db4
commit
cf26a0cb6a
@ -1,3 +1,9 @@
|
||||
2014-05-15 Siddhesh Poyarekar <siddhesh@redhat.com>
|
||||
|
||||
[BZ #16849]
|
||||
* sysdeps/posix/getaddrinfo.c (gaih_inet): Only check for
|
||||
herrno to return EAI_AGAIN.
|
||||
|
||||
2014-05-14 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/nptl/c++-types.data: Moved ...
|
||||
|
4
NEWS
4
NEWS
@ -16,8 +16,8 @@ Version 2.20
|
||||
16670, 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707,
|
||||
16712, 16713, 16714, 16731, 16739, 16740, 16743, 16754, 16758, 16759,
|
||||
16760, 16770, 16786, 16789, 16791, 16799, 16800, 16815, 16823, 16824,
|
||||
16831, 16838, 16854, 16876, 16877, 16885, 16888, 16890, 16912, 16916,
|
||||
16922, 16927, 16928, 16932.
|
||||
16831, 16838, 16849, 16854, 16876, 16877, 16885, 16888, 16890, 16912,
|
||||
16916, 16922, 16927, 16928, 16932.
|
||||
|
||||
* The minimum Linux kernel version that this version of the GNU C Library
|
||||
can be used with is 2.6.32.
|
||||
|
@ -867,8 +867,7 @@ gaih_inet (const char *name, const struct gaih_service *service,
|
||||
if (status != NSS_STATUS_TRYAGAIN
|
||||
|| rc != ERANGE || herrno != NETDB_INTERNAL)
|
||||
{
|
||||
if (status == NSS_STATUS_TRYAGAIN
|
||||
&& herrno == TRY_AGAIN)
|
||||
if (herrno == TRY_AGAIN)
|
||||
no_data = EAI_AGAIN;
|
||||
else
|
||||
no_data = herrno == NO_DATA;
|
||||
|
Loading…
x
Reference in New Issue
Block a user