Mercurial > dovecot > core-2.2
changeset 8111:d49bdda63506 HEAD
auth: %m variable didn't work with blocking passdbs
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 27 Aug 2008 10:13:58 +0300 |
parents | 1cf9844b7a20 |
children | d630b13ccd60 |
files | src/auth/auth-request.c src/auth/auth-request.h |
diffstat | 2 files changed, 9 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/auth-request.c Wed Aug 27 08:27:35 2008 +0300 +++ b/src/auth/auth-request.c Wed Aug 27 10:13:58 2008 +0300 @@ -39,6 +39,7 @@ request->auth = auth; request->mech = mech; + request->mech_name = mech == NULL ? NULL : mech->mech_name; request->callback = callback; request->context = context; return request; @@ -146,6 +147,8 @@ auth_stream_reply_add(reply, "secured", "1"); if (request->skip_password_check) auth_stream_reply_add(reply, "skip_password_check", "1"); + if (request->mech_name != NULL) + auth_stream_reply_add(reply, "mech", request->mech_name); } bool auth_request_import(struct auth_request *request, @@ -179,7 +182,9 @@ else if (strcmp(key, "skip_password_check") == 0) { i_assert(request->master_user != NULL); request->skip_password_check = TRUE; - } else + } else if (strcmp(key, "mech") == 0) + request->mech_name = p_strdup(request->pool, value); + else return FALSE; return TRUE; @@ -1373,8 +1378,8 @@ tab[9].value = auth_request->passdb == NULL ? "" : dec2str(auth_request->passdb->id); } - tab[10].value = auth_request->mech == NULL ? "" : - auth_request->mech->mech_name; + tab[10].value = auth_request->mech_name == NULL ? "" : + auth_request->mech_name; tab[11].value = auth_request->secured ? "secured" : ""; tab[12].value = dec2str(auth_request->local_port); tab[13].value = dec2str(auth_request->remote_port);
--- a/src/auth/auth-request.h Wed Aug 27 08:27:35 2008 +0300 +++ b/src/auth/auth-request.h Wed Aug 27 10:13:58 2008 +0300 @@ -62,7 +62,7 @@ unsigned int id; time_t last_access; - const char *service; + const char *service, *mech_name; struct ip_addr local_ip, remote_ip; unsigned int local_port, remote_port;