]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: If user is already authenticated, passdb result shouldn't be password_mismatch
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 9 Sep 2019 09:24:00 +0000 (12:24 +0300)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 10 Sep 2019 10:07:27 +0000 (10:07 +0000)
This caused confusion in the auth_request_passdb_finished event's result
parameter. Otherwise it shouldn't have caused any bugs.

src/auth/auth-request.c

index 37939fc87f9e3feb266bd78df1f4b395736cf241..c5713be1d0aa58025318795150cc82cb736bae92 100644 (file)
@@ -2833,6 +2833,10 @@ int auth_request_password_verify_log(struct auth_request *request,
 
 enum passdb_result auth_request_password_missing(struct auth_request *request)
 {
+       if (request->skip_password_check) {
+               /* This passdb wasn't used for authentication */
+               return PASSDB_RESULT_OK;
+       }
        e_info(authdb_event(request),
               "No password returned (and no nopassword)");
        return PASSDB_RESULT_PASSWORD_MISMATCH;