Mercurial > dovecot > original-hg > dovecot-1.2
changeset 8347:fc5683975951 HEAD
auth: original_username should never be NULL, removed all code that checks for it.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 26 Oct 2008 16:01:45 +0200 |
parents | 9f66028a1089 |
children | 88a6a193e288 |
files | src/auth/auth-request.c src/auth/passdb.c |
diffstat | 2 files changed, 8 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/auth-request.c Sun Oct 26 15:53:12 2008 +0200 +++ b/src/auth/auth-request.c Sun Oct 26 16:01:45 2008 +0200 @@ -126,10 +126,8 @@ auth_stream_reply_add(reply, "master_user", request->master_user); } - if (request->original_username != NULL) { - auth_stream_reply_add(reply, "original_username", - request->original_username); - } + auth_stream_reply_add(reply, "original_username", + request->original_username); if (request->local_ip.family != 0) { auth_stream_reply_add(reply, "lip", @@ -1013,12 +1011,6 @@ } if (strcmp(request->user, value) != 0) { - /* remember the original username for cache */ - if (request->original_username == NULL) { - request->original_username = - p_strdup(request->pool, request->user); - } - auth_request_log_debug(request, "auth", "username changed %s -> %s", request->user, value); @@ -1270,7 +1262,6 @@ { const unsigned char *raw_password; size_t raw_password_size; - const char *user; int ret; if (request->skip_password_check) { @@ -1303,13 +1294,11 @@ return -1; } - /* If original_username is set, use it. It may be important for some + /* Use original_username since it may be important for some password schemes (eg. digest-md5). Otherwise the username is used only for logging purposes. */ - user = request->original_username != NULL ? - request->original_username : request->user; - ret = password_verify(plain_password, user, scheme, - raw_password, raw_password_size); + ret = password_verify(plain_password, request->original_username, + scheme, raw_password, raw_password_size); i_assert(ret >= 0); if (ret == 0) { auth_request_log_info(request, subsystem,
--- a/src/auth/passdb.c Sun Oct 26 15:53:12 2008 +0200 +++ b/src/auth/passdb.c Sun Oct 26 16:01:45 2008 +0200 @@ -52,7 +52,7 @@ const unsigned char **credentials_r, size_t *size_r) { const char *wanted_scheme = auth_request->credentials_scheme; - const char *plaintext, *username; + const char *plaintext; int ret; ret = password_decode(input, input_scheme, credentials_r, size_r); @@ -92,9 +92,8 @@ /* we can generate anything out of plaintext passwords */ plaintext = t_strndup(*credentials_r, *size_r); - username = auth_request->original_username != NULL ? - auth_request->original_username : auth_request->user; - if (!password_generate(plaintext, username, + if (!password_generate(plaintext, + auth_request->original_username, wanted_scheme, credentials_r, size_r)) { auth_request_log_error(auth_request, "password", "Requested unknown scheme %s", wanted_scheme);