[PING^2][PATCH] Return EAI_AGAIN for AF_UNSPEC when herrno is TRY_AGAIN (BZ #16849)
Siddhesh Poyarekar
siddhesh@redhat.com
Mon Apr 28 14:48:00 GMT 2014
Ping!
On Tue, Apr 22, 2014 at 03:16:57PM +0530, Siddhesh Poyarekar wrote:
> Ping!
>
> On Wed, Apr 16, 2014 at 07:38:24PM +0530, Siddhesh Poyarekar wrote:
> > 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.
> >
> > Tested on x86_64.
> >
> > Siddhesh
> >
> > [BZ #16849]
> > * sysdeps/posix/getaddrinfo.c (gaih_inet): Only check for
> > herrno to return EAI_AGAIN.
> >
> > ---
> > sysdeps/posix/getaddrinfo.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
> > index 3385bed..f62df19 100644
> > --- a/sysdeps/posix/getaddrinfo.c
> > +++ b/sysdeps/posix/getaddrinfo.c
> > @@ -863,8 +863,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;
> > --
> > 1.8.3.1
> >
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140428/59d2a046/attachment.sig>
More information about the Libc-alpha
mailing list