Mercurial > dovecot > core-2.2
changeset 14566:ca0fef559d43
login: If user is disabled or password expired, say it in logout reason.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 16 May 2012 16:14:31 +0300 |
parents | d6f06ce44b0b |
children | 6d11513cdd0d |
files | src/login-common/client-common-auth.c src/login-common/client-common.c src/login-common/client-common.h |
diffstat | 3 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/login-common/client-common-auth.c Wed May 16 16:14:01 2012 +0300 +++ b/src/login-common/client-common-auth.c Wed May 16 16:14:31 2012 +0300 @@ -82,6 +82,10 @@ reply_r->temp = TRUE; else if (strcmp(key, "authz") == 0) reply_r->authz_failure = TRUE; + else if (strcmp(key, "user_disabled") == 0) + client->auth_user_disabled = TRUE; + else if (strcmp(key, "pass_expired") == 0) + client->auth_pass_expired = TRUE; else if (strcmp(key, "reason") == 0) reply_r->reason = value; else if (strcmp(key, "host") == 0)
--- a/src/login-common/client-common.c Wed May 16 16:14:01 2012 +0300 +++ b/src/login-common/client-common.c Wed May 16 16:14:31 2012 +0300 @@ -645,6 +645,10 @@ return t_strdup_printf("(internal failure, %u succesful auths)", client->auth_successes); } + if (client->auth_user_disabled) + return "(user disabled)"; + if (client->auth_pass_expired) + return "(password expired)"; return t_strdup_printf("(auth failed, %u attempts in %u secs)", client->auth_attempts, auth_secs); }
--- a/src/login-common/client-common.h Wed May 16 16:14:01 2012 +0300 +++ b/src/login-common/client-common.h Wed May 16 16:14:31 2012 +0300 @@ -139,6 +139,8 @@ unsigned int auth_process_comm_fail:1; unsigned int proxy_auth_failed:1; unsigned int auth_waiting:1; + unsigned int auth_user_disabled:1; + unsigned int auth_pass_expired:1; /* ... */ };