Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6220:c14b923977e5 HEAD
Do username checks and translations with userdb lookups.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 07 Aug 2007 13:56:33 +0300 |
parents | 22060906360e |
children | 01d09f75af4a |
files | src/auth/auth-master-connection.c |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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_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,9 +124,14 @@ 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, '='); if (arg == NULL) {