dovecot-1.2: auth: original_username should never be NULL, remov...
dovecot at dovecot.org
dovecot at dovecot.org
Sun Oct 26 16:30:54 EET 2008
details: http://hg.dovecot.org/dovecot-1.2/rev/fc5683975951
changeset: 8347:fc5683975951
user: Timo Sirainen <tss at iki.fi>
date: Sun Oct 26 16:01:45 2008 +0200
description:
auth: original_username should never be NULL, removed all code that checks for it.
diffstat:
2 files changed, 8 insertions(+), 20 deletions(-)
src/auth/auth-request.c | 21 +++++----------------
src/auth/passdb.c | 7 +++----
diffs (78 lines):
diff -r 9f66028a1089 -r fc5683975951 src/auth/auth-request.c
--- 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 @@ void auth_request_export(struct auth_req
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 @@ void auth_request_set_field(struct auth_
}
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 @@ int auth_request_password_verify(struct
{
const unsigned char *raw_password;
size_t raw_password_size;
- const char *user;
int ret;
if (request->skip_password_check) {
@@ -1303,13 +1294,11 @@ int auth_request_password_verify(struct
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,
diff -r 9f66028a1089 -r fc5683975951 src/auth/passdb.c
--- 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 @@ bool passdb_get_credentials(struct auth_
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 @@ bool passdb_get_credentials(struct auth_
/* 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);
More information about the dovecot-cvs
mailing list