changeset 21835:eff2e4b8aa24

auth: Do not cache username unless it was changed by lookup This could've caused usernames to be unexpectedly changed because they were cached by a lookup that did not include username in the cache key.
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Wed, 29 Mar 2017 16:15:36 +0300
parents 9b6003344c25
children b74ab3872a80
files src/auth/auth-request.c
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/auth-request.c	Wed Mar 29 15:37:36 2017 +0300
+++ b/src/auth/auth-request.c	Wed Mar 29 16:15:36 2017 +0300
@@ -1243,7 +1243,7 @@
 		auth_fields_append(request->userdb_reply, str,
 				   AUTH_FIELD_FLAG_CHANGED,
 				   AUTH_FIELD_FLAG_CHANGED);
-		if (strcmp(request->user, request->translated_username) != 0) {
+		if (request->user_changed_by_lookup) {
 			/* username was changed by passdb or userdb */
 			if (str_len(str) > 0)
 				str_append_c(str, '\t');