summaryrefslogtreecommitdiff
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
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