about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@redhat.com>2014-03-27 19:49:51 +0530
committerSiddhesh Poyarekar <siddhesh@redhat.com>2014-03-27 19:49:51 +0530
commitdd3022d75e6fb8957843d6d84257a5d8457822d5 (patch)
tree2a80ab93d6c2b5451fcf470539c70fc5b139a64f /ChangeLog
parentea7d8b95e2fcb81f68b04ed7787a3dbda023991a (diff)
downloadglibc-dd3022d75e6fb8957843d6d84257a5d8457822d5.tar.gz
glibc-dd3022d75e6fb8957843d6d84257a5d8457822d5.tar.xz
glibc-dd3022d75e6fb8957843d6d84257a5d8457822d5.zip
Return NULL for wildcard values in getnetgrent from nscd (BZ #16759)
getnetgrent is supposed to return NULL for values that are wildcards
in the (host, user, domain) triplet.  This works correctly with nscd
disabled, but with it enabled, it returns a blank ("") instead of a
NULL.  This is easily seen with the output of `getent netgroup foonet`
for a netgroup foonet defined as follows in /etc/netgroup:

    foonet (,foo,)

The output with nscd disabled is:

    foonet ( ,foo,)

while with nscd enabled, it is:

    foonet (,foo,)

The extra space with nscd disabled is due to the fact that `getent
netgroup` adds it if the return value from getnetgrent is NULL for
either host or user.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog4
1 files changed, 4 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7cf7bd1e43..796978df45 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2014-03-27  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
+	[BZ #16759]
+	* inet/getnetgrent_r.c (get_nonempty_val): New function.
+	(nscd_getnetgrent): Use it.
+
 	[BZ #16760]
 	* nscd/netgroupcache.c (addgetnetgrentX): Use memmove instead
 	of stpcpy.