]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Add and use auth_request_password_missing() where possible
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 9 Sep 2019 09:21:39 +0000 (12:21 +0300)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 10 Sep 2019 10:07:27 +0000 (10:07 +0000)
src/auth/auth-request.c
src/auth/auth-request.h
src/auth/passdb-dict.c
src/auth/passdb-ldap.c
src/auth/passdb-lua.c
src/auth/passdb-sql.c
src/auth/passdb-static.c

index 8dc33ae9cdc74d0bbf8b31c75ff1de45c23d79b5..37939fc87f9e3feb266bd78df1f4b395736cf241 100644 (file)
@@ -2831,6 +2831,13 @@ int auth_request_password_verify_log(struct auth_request *request,
        return ret;
 }
 
+enum passdb_result auth_request_password_missing(struct auth_request *request)
+{
+       e_info(authdb_event(request),
+              "No password returned (and no nopassword)");
+       return PASSDB_RESULT_PASSWORD_MISMATCH;
+}
+
 void auth_request_get_log_prefix(string_t *str, struct auth_request *auth_request,
                                 const char *subsystem)
 {
index 453efba80948e9b715e0b8cd83d0fc56c628a0ff..be09c4d9a75f9307ebf0ec333b6b7bff0a1c2e8c 100644 (file)
@@ -259,6 +259,7 @@ int auth_request_password_verify_log(struct auth_request *request,
                                 const char *crypted_password,
                                 const char *scheme, const char *subsystem,
                                 bool log_password_mismatch);
+enum passdb_result auth_request_password_missing(struct auth_request *request);
 
 void auth_request_get_log_prefix(string_t *str, struct auth_request *auth_request,
                                 const char *subsystem);
index 0e8c0a895367a58259d1e5bc08e4c866738237fc..9159380822afbd5f5a96795ff76c18281032b323 100644 (file)
@@ -69,9 +69,7 @@ passdb_dict_lookup_key(struct auth_request *auth_request,
 
                if (auth_request->passdb_password == NULL &&
                    !auth_fields_exists(auth_request->extra_fields, "nopassword")) {
-                       e_info(authdb_event(auth_request),
-                              "No password returned (and no nopassword)");
-                       return PASSDB_RESULT_PASSWORD_MISMATCH;
+                       return auth_request_password_missing(auth_request);
                } else {
                        return PASSDB_RESULT_OK;
                }
index f73cbbdbede0ce43d491b512585cb67d7b13da14..428da3d5e550362187137ce814d4f5968442eb9b 100644 (file)
@@ -84,9 +84,7 @@ ldap_lookup_finish(struct auth_request *auth_request,
        } else if (auth_request->passdb_password == NULL &&
                   ldap_request->require_password &&
                   !auth_fields_exists(auth_request->extra_fields, "nopassword")) {
-               e_info(authdb_event(auth_request),
-                      "No password returned (and no nopassword)");
-               passdb_result = PASSDB_RESULT_PASSWORD_MISMATCH;
+               passdb_result = auth_request_password_missing(auth_request);
        } else {
                /* passdb_password may change on the way,
                   so we'll need to strdup. */
index 672d431924ae3b7dafceb0b4a958d58bcacc789e..92c2e958f62ab5e858492f630d7be0c7b749c5dd 100644 (file)
@@ -52,9 +52,7 @@ passdb_lua_lookup(struct auth_request *request,
                /* skip next bit */
        } else if (!auth_fields_exists(request->extra_fields, "nopassword")) {
                if (*password_r == NULL || **password_r == '\0') {
-                       e_info(authdb_event(request),
-                              "No password returned (and no nopassword)");
-                       result = PASSDB_RESULT_PASSWORD_MISMATCH;
+                       result = auth_request_password_missing(request);
                } else {
                        if (*scheme_r == NULL)
                                *scheme_r = request->passdb->passdb->default_pass_scheme;
index 0c0a2c579522961e22c0824ed08b823845675f79..666c7392ccbfb495358bbf35b6e0af0bdb3c61b4 100644 (file)
@@ -100,9 +100,7 @@ static void sql_query_callback(struct sql_result *result,
                                "Password query returned multiple matches");
                } else if (auth_request->passdb_password == NULL &&
                           !auth_fields_exists(auth_request->extra_fields, "nopassword")) {
-                       e_info(authdb_event(auth_request),
-                              "Empty password returned without nopassword");
-                       passdb_result = PASSDB_RESULT_PASSWORD_MISMATCH;
+                       passdb_result = auth_request_password_missing(auth_request);
                } else {
                        /* passdb_password may change on the way,
                           so we'll need to strdup. */
index d55519e3304fe52248694cbb6fc1731ea0d74ed9..c64d1e165c7c69738bf32a284499cbf7480e079a 100644 (file)
@@ -40,9 +40,7 @@ static_save_fields(struct auth_request *request, const char **password_r,
        } else if (auth_fields_exists(request->extra_fields, "nopassword")) {
                *password_r = "";
        } else {
-               e_info(authdb_event(request),
-                      "No password returned (and no nopassword)");
-               return PASSDB_RESULT_PASSWORD_MISMATCH;
+               return auth_request_password_missing(request);
        }
 
        *scheme_r = password_get_scheme(password_r);