Mercurial > dovecot > core-2.2
changeset 21715:465fc64557c2
auth: Apply skips to first passdb
This is required to apply filters to first
passdb, so that mechanism filters can be
applied.
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Mon, 06 Mar 2017 13:16:12 +0200 |
parents | 51f236a068a9 |
children | 8afc52576667 |
files | src/auth/auth-request.c |
diffstat | 1 files changed, 15 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/auth-request.c Fri Mar 03 08:31:50 2017 +0200 +++ b/src/auth/auth-request.c Mon Mar 06 13:16:12 2017 +0200 @@ -987,7 +987,21 @@ return; } - passdb = request->passdb; + passdb = request->passdb; + + while (passdb != NULL && auth_request_want_skip_passdb(request, passdb)) + passdb = passdb->next; + + request->passdb = passdb; + + if (passdb == NULL) { + auth_request_log_error(request, AUTH_SUBSYS_DB, + "All password databases were skipped for mechanism '%s'", + request->mech == NULL ? "<empty>" + : request->mech->mech_name); + callback(PASSDB_RESULT_INTERNAL_FAILURE, request); + return; + } request->private_callback.verify_plain = callback;