Mercurial > dovecot > core-2.2
changeset 21491:c130a08ebbaf
auth: Handle delayed credentials identically in auth-workers
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Mon, 06 Feb 2017 11:23:50 +0200 |
parents | a2cca53d71d2 |
children | c0f9d3f9bfd0 |
files | src/auth/auth-request.c |
diffstat | 1 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/auth-request.c Mon Feb 06 10:55:40 2017 +0200 +++ b/src/auth/auth-request.c Mon Feb 06 11:23:50 2017 +0200 @@ -347,6 +347,8 @@ str_append(dest, "\tsecured"); if (request->skip_password_check) str_append(dest, "\tskip-password-check"); + if (request->delayed_credentials != NULL) + str_append(dest, "\tdelayed-credentials"); if (request->valid_client_cert) str_append(dest, "\tvalid-client-cert"); if (request->no_penalty) @@ -468,7 +470,13 @@ request->successful = TRUE; else if (strcmp(key, "skip-password-check") == 0) request->skip_password_check = TRUE; - else if (strcmp(key, "mech") == 0) + else if (strcmp(key, "delayed-credentials") == 0) { + /* just make passdb_handle_credentials() work identically in + auth-worker as it does in auth-master. the worker shouldn't + care about the actual contents of the credentials. */ + request->delayed_credentials = &uchar_nul; + request->delayed_credentials_size = 1; + } else if (strcmp(key, "mech") == 0) request->mech_name = p_strdup(request->pool, value); else if (strncmp(key, "passdb_", 7) == 0) auth_fields_add(request->extra_fields, key+7, value, 0);