dovecot-1.2: mail_user_get_home() looked up user's home director...
dovecot at dovecot.org
dovecot at dovecot.org
Sun Nov 30 02:45:16 EET 2008
details: http://hg.dovecot.org/dovecot-1.2/rev/3fe1fb4e4f11
changeset: 8501:3fe1fb4e4f11
user: Timo Sirainen <tss at iki.fi>
date: Sun Nov 30 02:45:12 2008 +0200
description:
mail_user_get_home() looked up user's home directory from userdb even if was already known.
diffstat:
1 file changed, 9 insertions(+), 6 deletions(-)
src/lib-storage/mail-user.c | 15 +++++++++------
diffs (36 lines):
diff -r 3efcdc45d111 -r 3fe1fb4e4f11 src/lib-storage/mail-user.c
--- 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 @@ int mail_user_get_home(struct mail_user
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 @@ int mail_user_try_home_expand(struct mai
{
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;
}
More information about the dovecot-cvs
mailing list