Mercurial > dovecot > core-2.2
changeset 4140:52a2e6f35acf HEAD
The login and master usernames were reversed when using
master_user_separator (now the order is UW-IMAP compatible).
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 09 Apr 2006 14:53:59 +0300 |
parents | 68c2ad5e4f85 |
children | 4a023bede75e |
files | src/auth/auth-request.c |
diffstat | 1 files changed, 10 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/auth-request.c Sun Apr 09 14:34:15 2006 +0300 +++ b/src/auth/auth-request.c Sun Apr 09 14:53:59 2006 +0300 @@ -582,10 +582,16 @@ p = strchr(username, request->auth->master_user_separator); if (p != NULL) { /* it does, set it. */ - if (!auth_request_set_login_username(request, p+1, + const char *login_username; + + login_username = t_strdup_until(username, p); + if (!auth_request_set_login_username(request, + login_username, error_r)) return FALSE; - username = t_strdup_until(username, p); + + /* username is the master user */ + username = p + 1; } } @@ -610,7 +616,8 @@ request->requested_login_user = auth_request_fix_username(request, username, error_r); - if (strcmp(request->requested_login_user, request->user) == 0) { + if (request->user != NULL && + strcmp(request->requested_login_user, request->user) == 0) { /* The usernames are the same, we don't really wish to log in as someone else */ request->requested_login_user = NULL;