Mercurial > dovecot > original-hg > dovecot-1.2
changeset 8501:3fe1fb4e4f11 HEAD
mail_user_get_home() looked up user's home directory from userdb even if was already known.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 30 Nov 2008 02:45:12 +0200 |
parents | 3efcdc45d111 |
children | 570927dfc769 |
files | src/lib-storage/mail-user.c |
diffstat | 1 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/mail-user.c Sun Nov 30 02:09:16 2008 +0200 +++ b/src/lib-storage/mail-user.c Sun Nov 30 02:45:12 2008 +0200 @@ -116,6 +116,11 @@ pool_t userdb_pool; int ret; + if (user->home_looked_up) { + *home_r = user->_home; + return user->_home != NULL ? 1 : 0; + } + userdb_pool = pool_alloconly_create("userdb lookup", 512); ret = auth_master_user_lookup(auth_master_conn, user->username, AUTH_SERVICE_INTERNAL, @@ -137,16 +142,14 @@ { const char *home, *path = *pathp; - if (!user->home_looked_up) { - if (mail_user_get_home(user, &home) < 0) - return -1; - } + if (mail_user_get_home(user, &home) < 0) + return -1; if (path[0] == '~' && (path[1] == '/' || path[1] == '\0')) { - if (user->_home == NULL) + if (home == NULL) return -1; - *pathp = t_strconcat(user->_home, path + 1, NULL); + *pathp = t_strconcat(home, path + 1, NULL); } return 0; }