Add finer grained control for initgroups lookups to NSS.
authorUlrich Drepper <drepper@gmail.com>
Fri, 29 Apr 2011 15:16:30 +0000 (11:16 -0400)
committerUlrich Drepper <drepper@gmail.com>
Fri, 29 Apr 2011 15:16:30 +0000 (11:16 -0400)
ChangeLog
grp/initgroups.c
nss/nsswitch.conf

index 2b02e1a..92a34c0 100644 (file)
--- 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]
index 180e653..25acf2a 100644 (file)
@@ -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)
index 4d2a763..73736a6 100644 (file)
@@ -5,6 +5,7 @@
 
 passwd:                db files
 group:         db files
+initgroups:    db files
 shadow:                db files
 gshadow:       files