]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: passdb.preinit() - Add passdb_parameters parameter
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 6 Nov 2025 12:33:40 +0000 (14:33 +0200)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Thu, 13 Nov 2025 22:50:48 +0000 (22:50 +0000)
src/auth/passdb-bsdauth.c
src/auth/passdb-ldap.c
src/auth/passdb-lua.c
src/auth/passdb-oauth2.c
src/auth/passdb-pam.c
src/auth/passdb-passwd-file.c
src/auth/passdb-passwd.c
src/auth/passdb-sql.c
src/auth/passdb.c
src/auth/passdb.h

index 1b86da4053c2cdfc5398ebc11f447d1644054b0d..c4d1bda4e8bd1f0520bebb266d70fc46e8c5c6ea 100644 (file)
@@ -89,6 +89,7 @@ bsdauth_verify_plain(struct auth_request *request, const char *password,
 
 static int
 bsdauth_preinit(pool_t pool, struct event *event,
+               const struct passdb_parameters *passdb_params ATTR_UNUSED,
                struct passdb_module **module_r,
                const char **error_r)
 {
index 6d7702c6292ac5f39b4b9d7f7be429efb520af91..bc93b545091e17ebc2954fe3ff2aadcb7bb52d63 100644 (file)
@@ -438,9 +438,11 @@ static void ldap_lookup_credentials(struct auth_request *request,
        settings_free(ldap_pre);
 }
 
-static int passdb_ldap_preinit(pool_t pool, struct event *event,
-                              struct passdb_module **module_r,
-                              const char **error_r)
+static int
+passdb_ldap_preinit(pool_t pool, struct event *event,
+                   const struct passdb_parameters *passdb_params ATTR_UNUSED,
+                   struct passdb_module **module_r,
+                   const char **error_r)
 {
        const struct auth_passdb_post_settings *auth_post = NULL;
        const struct ldap_pre_settings *ldap_pre = NULL;
index 861dca7858cb91efd31765cd1ee7699d656eef78..d97903b426aac7a25e4b79786034e71c8fe93ab3 100644 (file)
@@ -106,6 +106,7 @@ passdb_lua_verify_plain(struct auth_request *request, const char *password,
 
 static int
 passdb_lua_preinit(pool_t pool, struct event *event,
+                  const struct passdb_parameters *passdb_params ATTR_UNUSED,
                   struct passdb_module **module_r, const char **error_r)
 {
        struct dlua_passdb_module *module;
index 91fed0601838ea154c6a8fd6667f14e51801cb06..278fc456057aaea1cdf157739bf6d4fa469ac4c8 100644 (file)
@@ -44,7 +44,9 @@ oauth2_verify_plain(struct auth_request *request, const char *password,
 }
 
 static int
-oauth2_preinit(pool_t pool, struct event *event, struct passdb_module **module_r,
+oauth2_preinit(pool_t pool, struct event *event,
+              const struct passdb_parameters *passdb_params ATTR_UNUSED,
+              struct passdb_module **module_r,
               const char **error_r)
 {
        struct oauth2_passdb_module *module;
index fdf0f573ef4a57f030d0de1d5fc99a1199b928c2..87a8863509b514ee13b21beeb9be12ef10304e20 100644 (file)
@@ -391,8 +391,10 @@ pam_verify_plain(struct auth_request *request, const char *password,
 }
 
 
-static int pam_preinit(pool_t pool, struct event *event,
-                      struct passdb_module **module_r, const char **error_r)
+static int
+pam_preinit(pool_t pool, struct event *event,
+           const struct passdb_parameters *passdb_params ATTR_UNUSED,
+           struct passdb_module **module_r, const char **error_r)
 {
        const struct auth_pam_settings *set;
        const struct auth_passdb_post_settings *post_set;
index dcac36d0d6dc83a6bad61eeafd6b67f9af51c5b3..0520a0717fdfae3e8741a596e8131ea60e47568d 100644 (file)
@@ -145,6 +145,7 @@ passwd_file_lookup_credentials(struct auth_request *request,
 
 static int
 passwd_file_preinit(pool_t pool, struct event *event,
+                   const struct passdb_parameters *passdb_params ATTR_UNUSED,
                    struct passdb_module **module_r, const char **error_r)
 {
        struct passwd_file_passdb_module *module;
index 22e2eae7fa3204d7f7aa4eaa5e843b9fb8ac0004..99196d1a32f55891cdc18ca91579d48ee22ffa33 100644 (file)
@@ -127,9 +127,11 @@ passwd_lookup_credentials(struct auth_request *request,
                                  PASSWD_PASS_SCHEME, callback, request);
 }
 
-static int passwd_preinit(pool_t pool, struct event *event,
-                         struct passdb_module **module_r,
-                         const char **error_r )
+static int
+passwd_preinit(pool_t pool, struct event *event,
+              const struct passdb_parameters *passdb_params ATTR_UNUSED,
+              struct passdb_module **module_r,
+              const char **error_r)
 {
        const struct auth_passdb_post_settings *post_set;
        struct passdb_module *module = p_new(pool, struct passdb_module, 1);
index db1990dc47297f70f5404b303ee15e74cb34d55f..635b6ffe9e86e7062156e79ed31bff2d0ae07cdf 100644 (file)
@@ -278,6 +278,7 @@ static void sql_set_credentials(struct auth_request *request,
 
 static int
 passdb_sql_preinit(pool_t pool, struct event *event,
+                  const struct passdb_parameters *passdb_params ATTR_UNUSED,
                   struct passdb_module **module_r, const char **error_r)
 {
        struct sql_passdb_module *module;
index 0dd962813151af0cd3c7a0d4da2626da8ced2ac2..c8c3bf9dfcfd678ee9c6db05eeb52e4f7c6c2f1d 100644 (file)
@@ -187,7 +187,9 @@ passdb_preinit(pool_t pool, struct event *event,
        }
 
        if (iface->preinit != NULL) {
-               if (iface->preinit(pool, event, &passdb, &error) < 0)
+               struct passdb_parameters params;
+               i_zero(&params);
+               if (iface->preinit(pool, event, &params, &passdb, &error) < 0)
                        i_fatal("passdb %s: %s", set->name, error);
                passdb->default_pass_scheme =
                        set->default_password_scheme;
index 93d43f6e6494bc3a3a96e507daf1767187f5f00c..fe70d33448d0aa9ff01522d5fd5505cd9519b29e 100644 (file)
@@ -34,12 +34,16 @@ typedef void lookup_credentials_callback_t(enum passdb_result result,
 typedef void set_credentials_callback_t(bool success,
                                        struct auth_request *request);
 
+struct passdb_parameters {
+};
+
 struct passdb_module_interface {
        const char *name;
 
        /* Create a new passdb_module based on the settings looked up via the
           given event. */
        int (*preinit)(pool_t pool, struct event *event,
+                      const struct passdb_parameters *passdb_params,
                       struct passdb_module **module_r, const char **error_r);
        void (*init)(struct passdb_module *module);
        void (*deinit)(struct passdb_module *module);