summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2003-10-01 17:02:09 +0000
committerGerald Carter <jerry@samba.org>2003-10-01 17:02:09 +0000
commite1f16f33219b44f0a66af0da0a02d8e8781a24f6 (patch)
tree46e60608c6e69cb3daf062010754c52ff4168a3c /source3/lib
parent0dde70c2330b7fad898f27ba3102f425a8e5f579 (diff)
downloadsamba-e1f16f33219b44f0a66af0da0a02d8e8781a24f6.tar.gz
samba-e1f16f33219b44f0a66af0da0a02d8e8781a24f6.tar.bz2
samba-e1f16f33219b44f0a66af0da0a02d8e8781a24f6.zip
merge of parameter changes from 3.0 and fix for bug 550
(This used to be commit b6433f5db77a1d62309946c6f23c18c6c299d0c5)
Diffstat (limited to 'source3/lib')
-rw-r--r--source3/lib/system.c8
-rw-r--r--source3/lib/system_smbd.c2
2 files changed, 6 insertions, 4 deletions
diff --git a/source3/lib/system.c b/source3/lib/system.c
index b020a20373..2e95efec79 100644
--- a/source3/lib/system.c
+++ b/source3/lib/system.c
@@ -693,7 +693,6 @@ int sys_getgroups(int setlen, gid_t *gidset)
#endif /* HAVE_BROKEN_GETGROUPS */
}
-#ifdef HAVE_SETGROUPS
/**************************************************************************
Wrapper for setgroups. Deals with broken (int) case. Automatically used
@@ -702,6 +701,11 @@ int sys_getgroups(int setlen, gid_t *gidset)
int sys_setgroups(int setlen, gid_t *gidset)
{
+#if !defined(HAVE_SETGROUPS)
+ errno = ENOSYS;
+ return -1;
+#endif /* HAVE_SETGROUPS */
+
#if !defined(HAVE_BROKEN_GETGROUPS)
return setgroups(setlen, gidset);
#else
@@ -742,8 +746,6 @@ int sys_setgroups(int setlen, gid_t *gidset)
#endif /* HAVE_BROKEN_GETGROUPS */
}
-#endif /* HAVE_SETGROUPS */
-
/**************************************************************************
Wrappers for setpwent(), getpwent() and endpwent()
****************************************************************************/
diff --git a/source3/lib/system_smbd.c b/source3/lib/system_smbd.c
index bcbc8c61e6..73c910e631 100644
--- a/source3/lib/system_smbd.c
+++ b/source3/lib/system_smbd.c
@@ -92,7 +92,7 @@ static int getgrouplist_internals(const char *user, gid_t gid, gid_t *groups, in
restore_re_gid();
- if (setgroups(ngrp_saved, gids_saved) != 0) {
+ if (sys_setgroups(ngrp_saved, gids_saved) != 0) {
/* yikes! */
DEBUG(0,("ERROR: getgrouplist: failed to reset group list!\n"));
smb_panic("getgrouplist: failed to reset group list!\n");