From 125ee683b3bfcd3868ffc29d5ee303433383312d Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 29 Apr 2011 11:16:30 -0400 Subject: [PATCH] Add finer grained control for initgroups lookups to NSS. --- ChangeLog | 6 ++++++ grp/initgroups.c | 5 +++-- nss/nsswitch.conf | 1 + 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 + + * 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 [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