diff options
Diffstat (limited to 'user')
-rw-r--r-- | user/unix/userinfo.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/user/unix/userinfo.c b/user/unix/userinfo.c index 2987153f5..dca8e1cf9 100644 --- a/user/unix/userinfo.c +++ b/user/unix/userinfo.c @@ -129,4 +129,18 @@ APR_DECLARE(apr_status_t) apr_get_username(char **username, apr_uid_t userid, ap *username = apr_pstrdup(p, pw->pw_name); return APR_SUCCESS; } + +APR_DECLARE(apr_status_t) apr_get_user_passwd(char **passwd, + const char *username, apr_pool_t *p) +{ + struct passwd *pw; + apr_status_t rv; + + if ((rv = getpwnam_safe(username, &pw)) != APR_SUCCESS) + return rv; + + *passwd = apr_pstrdup(p, pw->pw_passwd); + + return APR_SUCCESS; +} |