]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Fail request if last passdb is noauthenticate
authorAki Tuomi <aki.tuomi@dovecot.fi>
Mon, 11 Jul 2016 11:56:41 +0000 (14:56 +0300)
committerGitLab <gitlab@git.dovecot.net>
Mon, 11 Jul 2016 13:26:06 +0000 (16:26 +0300)
src/auth/auth-request.c

index 7040fad7f66d1e89038c9da384963c0f3cb0add1..15cffeb566a7fb8fabba2c39f289f46801dd33cb 100644 (file)
@@ -746,6 +746,11 @@ auth_request_handle_passdb_callback(enum passdb_result *result,
                        request->passdbs_seen_internal_failure = TRUE;
                }
                return FALSE;
+       } else if (*result == PASSDB_RESULT_NEXT) {
+               /* admin forgot to put proper passdb last */
+               auth_request_log_error(request, AUTH_SUBSYS_DB,
+                       "Last passdb had noauthenticate field, cannot authenticate user");
+               *result = PASSDB_RESULT_INTERNAL_FAILURE;
        } else if (request->passdb_success) {
                /* either this or a previous passdb lookup succeeded. */
                *result = PASSDB_RESULT_OK;