Use NSS_STATUS_TRYAGAIN to indicate insufficient buffer (BZ #16878)
commitc3ec475c5dd16499aa040908e11d382c3ded9692
authorSiddhesh Poyarekar <siddhesh@redhat.com>
Mon, 26 May 2014 06:10:08 +0000 (26 11:40 +0530)
committerSiddhesh Poyarekar <siddhesh@redhat.com>
Mon, 26 May 2014 06:10:08 +0000 (26 11:40 +0530)
tree744f28e32954c9b92034ae79ed445b51e4f36e86
parentaa2f176d6f75b86b91e544c2e494066ac8f88cbd
Use NSS_STATUS_TRYAGAIN to indicate insufficient buffer (BZ #16878)

The netgroups nss modules in the glibc tree use NSS_STATUS_UNAVAIL
(with errno as ERANGE) when the supplied buffer does not have
sufficient space for the result.  This is wrong, because the canonical
way to indicate insufficient buffer is to set the errno to ERANGE and
the status to NSS_STATUS_TRYAGAIN, as is used by all other modules.

This fixes nscd behaviour when the nss_ldap module returns
NSS_STATUS_TRYAGAIN to indicate that a netgroup entry is too long to
fit into the supplied buffer.
ChangeLog
NEWS
nscd/netgroupcache.c
nss/nss_files/files-netgrp.c