diff options
Diffstat (limited to 'server/util')
-rw-r--r-- | server/util/usertools.c | 35 | ||||
-rw-r--r-- | server/util/util.h | 3 |
2 files changed, 38 insertions, 0 deletions
diff --git a/server/util/usertools.c b/server/util/usertools.c new file mode 100644 index 000000000..079306134 --- /dev/null +++ b/server/util/usertools.c @@ -0,0 +1,35 @@ +/* + SSSD + + User tools + + Copyright (C) Stephen Gallagher <sgallagh@redhat.com> 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include <pwd.h> +#include <talloc.h> + +char *get_username_from_uid(TALLOC_CTX *mem_ctx, uid_t uid) +{ + char *username; + struct passwd *pwd; + + pwd = getpwuid(uid); + if (!pwd) return NULL; + + username = talloc_strdup(mem_ctx, pwd->pw_name); + return username; +} diff --git a/server/util/util.h b/server/util/util.h index 1c3fa2e77..7388febd6 100644 --- a/server/util/util.h +++ b/server/util/util.h @@ -65,4 +65,7 @@ TALLOC_CTX *sssd_mem_takeover(TALLOC_CTX *mem_ctx, void *ptr, int (*destructor)(void **)); +/* from usertools.c */ +char *get_username_from_uid(TALLOC_CTX *mem_ctx, uid_t uid); + #endif /* __SSSD_UTIL_H__ */ |