summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2004-01-14 21:22:30 +0000
committerGerald Carter <jerry@samba.org>2004-01-14 21:22:30 +0000
commit2624dd03136a9c2a6e9ed39c97094cde0aa67723 (patch)
treed3753d789cff53b29139e8e1276b7289817aa0c1
parentbb104f31d5a849d5a3a0865fa77824c90d5e927e (diff)
downloadsamba-2624dd03136a9c2a6e9ed39c97094cde0aa67723.tar.gz
samba-2624dd03136a9c2a6e9ed39c97094cde0aa67723.tar.bz2
samba-2624dd03136a9c2a6e9ed39c97094cde0aa67723.zip
Fix initgroups() call nss_winbind on solaris; patch from John Klinger <john.klinger@lmco.com>
(This used to be commit 40b7d863dc246ea23ff3d9cdc167f1fb96166e1d)
-rw-r--r--source3/nsswitch/winbind_nss_solaris.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/source3/nsswitch/winbind_nss_solaris.c b/source3/nsswitch/winbind_nss_solaris.c
index 6671090e6a..8f03eb4cd6 100644
--- a/source3/nsswitch/winbind_nss_solaris.c
+++ b/source3/nsswitch/winbind_nss_solaris.c
@@ -256,7 +256,23 @@ _nss_winbind_getgrgid_solwrap(nss_backend_t* be, void* args)
static NSS_STATUS
_nss_winbind_getgroupsbymember_solwrap(nss_backend_t* be, void* args)
{
+ int errnop;
+ struct nss_groupsbymem *gmem = (struct nss_groupsbymem *)args;
+
NSS_DEBUG("_nss_winbind_getgroupsbymember");
+
+ _nss_winbind_initgroups_dyn(gmem->username,
+ gmem->gid_array[0], /* Primary Group */
+ &gmem->numgids,
+ &gmem->maxgids,
+ &gmem->gid_array,
+ gmem->maxgids,
+ &errnop);
+
+ /*
+ * Always return NOTFOUND so nsswitch will get info from all
+ * the database backends specified in the nsswitch.conf file.
+ */
return NSS_STATUS_NOTFOUND;
}