dovecot-2.2: auth: If user is disabled or password expired, tell...
dovecot at dovecot.org
dovecot at dovecot.org
Sun May 20 03:26:36 EEST 2012
details: http://hg.dovecot.org/dovecot-2.2/rev/d6f06ce44b0b
changeset: 14565:d6f06ce44b0b
user: Timo Sirainen <tss at iki.fi>
date: Wed May 16 16:14:01 2012 +0300
description:
auth: If user is disabled or password expired, tell about it to auth-client.
diffstat:
src/auth/auth-request-handler.c | 15 +++++++++++++++
src/auth/auth-request.c | 2 ++
src/auth/auth-request.h | 2 ++
3 files changed, 19 insertions(+), 0 deletions(-)
diffs (56 lines):
diff -r 7dd1dd742825 -r d6f06ce44b0b src/auth/auth-request-handler.c
--- a/src/auth/auth-request-handler.c Tue May 15 18:52:41 2012 +0300
+++ b/src/auth/auth-request-handler.c Wed May 16 16:14:01 2012 +0300
@@ -287,6 +287,21 @@
auth_stream_reply_add(reply, "nodelay", NULL);
get_client_extra_fields(request, reply);
+ switch (request->passdb_result) {
+ case PASSDB_RESULT_INTERNAL_FAILURE:
+ case PASSDB_RESULT_SCHEME_NOT_AVAILABLE:
+ case PASSDB_RESULT_USER_UNKNOWN:
+ case PASSDB_RESULT_PASSWORD_MISMATCH:
+ case PASSDB_RESULT_OK:
+ break;
+ case PASSDB_RESULT_USER_DISABLED:
+ auth_stream_reply_add(reply, "user_disabled", NULL);
+ break;
+ case PASSDB_RESULT_PASS_EXPIRED:
+ auth_stream_reply_add(reply, "pass_expired", NULL);
+ break;
+ }
+
auth_request_handle_failure(request, reply);
}
diff -r 7dd1dd742825 -r d6f06ce44b0b src/auth/auth-request.c
--- a/src/auth/auth-request.c Tue May 15 18:52:41 2012 +0300
+++ b/src/auth/auth-request.c Wed May 16 16:14:01 2012 +0300
@@ -557,6 +557,7 @@
request->private_callback.verify_plain);
} else {
auth_request_ref(request);
+ request->passdb_result = result;
request->private_callback.verify_plain(result, request);
auth_request_unref(&request);
}
@@ -691,6 +692,7 @@
but the user was unknown there */
result = PASSDB_RESULT_USER_UNKNOWN;
}
+ request->passdb_result = result;
request->private_callback.
lookup_credentials(result, credentials, size, request);
}
diff -r 7dd1dd742825 -r d6f06ce44b0b src/auth/auth-request.h
--- a/src/auth/auth-request.h Tue May 15 18:52:41 2012 +0300
+++ b/src/auth/auth-request.h Wed May 16 16:14:01 2012 +0300
@@ -56,6 +56,8 @@
struct auth_stream_reply *extra_cache_fields;
/* the whole userdb result reply */
struct auth_stream_reply *userdb_reply;
+ /* Result of passdb lookup */
+ enum passdb_result passdb_result;
const struct mech_module *mech;
const struct auth_settings *set;
More information about the dovecot-cvs
mailing list