summaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
Diffstat (limited to 'user')
-rw-r--r--user/unix/userinfo.c14
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;
+}