From 96487959e90b1aeec071d94e7f2c744af17fb5d0 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 2 Mar 2011 16:11:00 +0100 Subject: lib/util/util_pw: share more code between lib/util/util_pw.c and source3/lib/username.c Guenther --- source3/lib/username.c | 35 ----------------------------------- source3/lib/winbind_util.c | 1 + 2 files changed, 1 insertion(+), 35 deletions(-) (limited to 'source3/lib') diff --git a/source3/lib/username.c b/source3/lib/username.c index eea906128e..40e284a01a 100644 --- a/source3/lib/username.c +++ b/source3/lib/username.c @@ -57,26 +57,6 @@ static struct passwd *getpwnam_alloc_cached(TALLOC_CTX *mem_ctx, const char *nam return tcopy_passwd(mem_ctx, pw); } -/**************************************************************************** - talloc copy a struct passwd. -****************************************************************************/ - -struct passwd *tcopy_passwd(TALLOC_CTX *mem_ctx, const struct passwd *from) -{ - struct passwd *ret = TALLOC_P(mem_ctx, struct passwd); - if (!ret) { - return NULL; - } - ret->pw_name = talloc_strdup(ret, from->pw_name); - ret->pw_passwd = talloc_strdup(ret, from->pw_passwd); - ret->pw_uid = from->pw_uid; - ret->pw_gid = from->pw_gid; - ret->pw_gecos = talloc_strdup(ret, from->pw_gecos); - ret->pw_dir = talloc_strdup(ret, from->pw_dir); - ret->pw_shell = talloc_strdup(ret, from->pw_shell); - return ret; -} - /**************************************************************************** Flush all cached passwd structs. ****************************************************************************/ @@ -86,21 +66,6 @@ void flush_pwnam_cache(void) memcache_flush(NULL, GETPWNAM_CACHE); } -/**************************************************************************** - talloc'ed version of getpwuid. -****************************************************************************/ - -struct passwd *getpwuid_alloc(TALLOC_CTX *mem_ctx, uid_t uid) -{ - struct passwd *temp = sys_getpwuid(uid); - - if (!temp) { - return NULL; - } - - return tcopy_passwd(mem_ctx, temp); -} - /**************************************************************************** Get a users home directory. ****************************************************************************/ diff --git a/source3/lib/winbind_util.c b/source3/lib/winbind_util.c index 57cb3a9f6a..ad1ccf5538 100644 --- a/source3/lib/winbind_util.c +++ b/source3/lib/winbind_util.c @@ -20,6 +20,7 @@ #include "includes.h" #include "../libcli/security/security.h" +#include "../lib/util/util_pw.h" #if defined(WITH_WINBIND) -- cgit