summaryrefslogtreecommitdiff
path: root/source3/lib/util_getent.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2002-08-17 07:09:22 +0000
committerAndrew Bartlett <abartlet@samba.org>2002-08-17 07:09:22 +0000
commit8690b271a6a4feb112e0a6c03fe99ee25f86430b (patch)
treefc5de70d104f2ffe2e69c40d6b7cefd442a3d776 /source3/lib/util_getent.c
parent717b27c005311efe50aae7033a5e8c0908ea3abe (diff)
downloadsamba-8690b271a6a4feb112e0a6c03fe99ee25f86430b.tar.gz
samba-8690b271a6a4feb112e0a6c03fe99ee25f86430b.tar.bz2
samba-8690b271a6a4feb112e0a6c03fe99ee25f86430b.zip
Move tridge's getgrouplist() replacement function from replace.c to a new
'system_smbd.c' file, where it can link with become_root() and unbecome_root(), and therefore avoiding some nasty 'it workes on linux' bugs. (The replacement function is implemented in terms of initgroups(), which is naturally only avaliable to root). Andrew Bartlett (This used to be commit a91018dd026be3db473bb1cf1f4981295f9758e4)
Diffstat (limited to 'source3/lib/util_getent.c')
-rw-r--r--source3/lib/util_getent.c35
1 files changed, 0 insertions, 35 deletions
diff --git a/source3/lib/util_getent.c b/source3/lib/util_getent.c
index 5d2fcd7652..6699ce3e92 100644
--- a/source3/lib/util_getent.c
+++ b/source3/lib/util_getent.c
@@ -299,38 +299,3 @@ void free_userlist(struct sys_userlist *list_head)
SAFE_FREE(old_head);
}
}
-
-
-/*
- return a full list of groups for a user
-
- returns the number of groups the user is a member of. The return will include the
- users primary group.
-
- remember to free the resulting gid_t array
-
- NOTE! you must be root to call this function on some systems
-*/
-int getgroups_user(const char *user, gid_t **groups)
-{
- struct passwd *pwd;
- int ngrp, max_grp;
-
- pwd = getpwnam(user);
- if (!pwd) return -1;
-
- max_grp = groups_max();
- (*groups) = (gid_t *)malloc(sizeof(gid_t) * max_grp);
- if (! *groups) {
- errno = ENOMEM;
- return -1;
- }
-
- ngrp = getgrouplist(user, pwd->pw_gid, *groups, &max_grp);
- if (ngrp <= 0) {
- free(*groups);
- return ngrp;
- }
-
- return ngrp;
-}