diff options
author | Andrew Bartlett <abartlet@samba.org> | 2002-08-17 07:09:22 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2002-08-17 07:09:22 +0000 |
commit | 8690b271a6a4feb112e0a6c03fe99ee25f86430b (patch) | |
tree | fc5de70d104f2ffe2e69c40d6b7cefd442a3d776 /source3/lib/util_getent.c | |
parent | 717b27c005311efe50aae7033a5e8c0908ea3abe (diff) | |
download | samba-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.c | 35 |
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; -} |