summaryrefslogtreecommitdiff
path: root/source3/nsswitch/winbindd.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2002-07-14 22:15:20 +0000
committerAndrew Tridgell <tridge@samba.org>2002-07-14 22:15:20 +0000
commit13157d1494b99bf85632120c27286ba4d877a68f (patch)
treec1b5a22d91285a0423f664a1f158de804fddee0a /source3/nsswitch/winbindd.c
parent3d1b9bfb29db307e63033d4a94391a250e401238 (diff)
downloadsamba-13157d1494b99bf85632120c27286ba4d877a68f.tar.gz
samba-13157d1494b99bf85632120c27286ba4d877a68f.tar.bz2
samba-13157d1494b99bf85632120c27286ba4d877a68f.zip
this is a trick to work around the fact that posix does not supply
a getgr*() function that lists groups without numerating all the group members. Instead of definiing a new nss method (which might cause problems) I added an environment variable WINBIND_GETGRLST that tells winbind not to fill in the group members in a gergrent() request. This can speed up group listing by a factor of 20 or more (on my test system with 50000 groups it reduces the time from an hour to 2 minutes) (This used to be commit e3f73256d31ab9914daae49f41e984a534996870)
Diffstat (limited to 'source3/nsswitch/winbindd.c')
-rw-r--r--source3/nsswitch/winbindd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/source3/nsswitch/winbindd.c b/source3/nsswitch/winbindd.c
index 398845bdec..358d9add3a 100644
--- a/source3/nsswitch/winbindd.c
+++ b/source3/nsswitch/winbindd.c
@@ -223,6 +223,7 @@ static struct dispatch_table dispatch_table[] = {
{ WINBINDD_SETGRENT, winbindd_setgrent, "SETGRENT" },
{ WINBINDD_ENDGRENT, winbindd_endgrent, "ENDGRENT" },
{ WINBINDD_GETGRENT, winbindd_getgrent, "GETGRENT" },
+ { WINBINDD_GETGRLST, winbindd_getgrent, "GETGRLST" },
/* PAM auth functions */