changeset 8345:28867a0ee182 HEAD

Don't assume original_username is always set.
author Timo Sirainen <tss@iki.fi>
date Sun, 26 Oct 2008 15:52:47 +0200
parents 938700823522
children 9f66028a1089
files src/auth/passdb.c
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/passdb.c	Sun Oct 26 15:52:07 2008 +0200
+++ b/src/auth/passdb.c	Sun Oct 26 15:52:47 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;
+	const char *plaintext, *username;
 	int ret;
 
 	ret = password_decode(input, input_scheme, credentials_r, size_r);
@@ -92,8 +92,9 @@
 
 		/* we can generate anything out of plaintext passwords */
 		plaintext = t_strndup(*credentials_r, *size_r);
-		if (!password_generate(plaintext,
-				       auth_request->original_username,
+		username = auth_request->original_username != NULL ?
+			auth_request->original_username : auth_request->user;
+		if (!password_generate(plaintext, username,
 				       wanted_scheme, credentials_r, size_r)) {
 			auth_request_log_error(auth_request, "password",
 				"Requested unknown scheme %s", wanted_scheme);