about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-04-29 11:16:30 -0400
committerUlrich Drepper <drepper@gmail.com>2011-04-29 11:16:30 -0400
commit125ee683b3bfcd3868ffc29d5ee303433383312d (patch)
tree1c67632571078993ff27b76a0edefa2442fdd6da
parentb722481ac27a296c5e4c4ef5ebb85f48a9efac95 (diff)
downloadglibc-125ee683b3bfcd3868ffc29d5ee303433383312d.tar.gz
glibc-125ee683b3bfcd3868ffc29d5ee303433383312d.tar.xz
glibc-125ee683b3bfcd3868ffc29d5ee303433383312d.zip
Add finer grained control for initgroups lookups to NSS.
-rw-r--r--ChangeLog6
-rw-r--r--grp/initgroups.c5
-rw-r--r--nss/nsswitch.conf1
3 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 2b02e1af70..92a34c0406 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-04-29  Ulrich Drepper  <drepper@gmail.com>
+
+	* grp/initgroups.c (internal_getgrouplist): Prefer initgroups setting
+	to groups setting in database lookup.
+	* nss/nsswitch.conf: Add initgroups entry.
+
 2011-04-22  Ulrich Drepper  <drepper@gmail.com>
 
 	[BZ #12685]
diff --git a/grp/initgroups.c b/grp/initgroups.c
index 180e653c30..25acf2a249 100644
--- a/grp/initgroups.c
+++ b/grp/initgroups.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1989,91,93,1996-2006,2008,2010 Free Software Foundation, Inc.
+/* Copyright (C) 1989,1991,1993,1996-2006,2008,2010,2011
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -85,7 +86,7 @@ internal_getgrouplist (const char *user, gid_t group, long int *size,
       nip = __nss_group_database;
     }
   else
-    no_more = __nss_database_lookup ("group", NULL,
+    no_more = __nss_database_lookup ("initgroups", "group",
 				     "compat [NOTFOUND=return] files", &nip);
 
   while (! no_more)
diff --git a/nss/nsswitch.conf b/nss/nsswitch.conf
index 4d2a76376d..73736a61ae 100644
--- a/nss/nsswitch.conf
+++ b/nss/nsswitch.conf
@@ -5,6 +5,7 @@
 
 passwd:		db files
 group:		db files
+initgroups:	db files
 shadow:		db files
 gshadow:	files