dovecot: Do username checks and translations with userdb lookups.

dovecot at dovecot.org dovecot at dovecot.org
Tue Aug 7 13:56:36 EEST 2007


details:   http://hg.dovecot.org/dovecot/rev/c14b923977e5
changeset: 6220:c14b923977e5
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Aug 07 13:56:33 2007 +0300
description:
Do username checks and translations with userdb lookups.

diffstat:

1 file changed, 7 insertions(+), 2 deletions(-)
src/auth/auth-master-connection.c |    9 +++++++--

diffs (27 lines):

diff -r 22060906360e -r c14b923977e5 src/auth/auth-master-connection.c
--- a/src/auth/auth-master-connection.c	Tue Aug 07 13:49:51 2007 +0300
+++ b/src/auth/auth-master-connection.c	Tue Aug 07 13:56:33 2007 +0300
@@ -113,7 +113,7 @@ master_input_user(struct auth_master_con
 master_input_user(struct auth_master_connection *conn, const char *args)
 {
 	struct auth_request *auth_request;
-	const char *const *list, *name, *arg;
+	const char *const *list, *name, *arg, *error;
 
 	/* <id> <userid> [<parameters>] */
 	list = t_strsplit(args, "\t");
@@ -124,8 +124,13 @@ master_input_user(struct auth_master_con
 
 	auth_request = auth_request_new_dummy(conn->listener->auth);
 	auth_request->id = (unsigned int)strtoul(list[0], NULL, 10);
-	auth_request->user = p_strdup(auth_request->pool, list[1]);
 	auth_request->context = conn;
+
+	if (!auth_request_set_username(auth_request, list[1], &error)) {
+                auth_request_log_info(auth_request, "userdb", "%s", error);
+		user_callback(USERDB_RESULT_USER_UNKNOWN, auth_request);
+		return TRUE;
+	}
 
 	for (list += 2; *list != NULL; list++) {
 		arg = strchr(*list, '=');


More information about the dovecot-cvs mailing list