]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: ldap - Use passdb_default_pass_scheme from auth_passdb
authorMarco Bettini <marco.bettini@open-xchange.com>
Wed, 20 Mar 2024 11:42:33 +0000 (11:42 +0000)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:39:59 +0000 (10:39 +0200)
src/auth/db-ldap-settings.c
src/auth/db-ldap-settings.h
src/auth/passdb-ldap.c

index 9d1aabc62d04a05b4df74afc3cdcfc0c6272d44f..77e0aa3b762730bd9495bf16f0efae6bba4659ec 100644 (file)
@@ -40,7 +40,6 @@ static const struct setting_define ldap_setting_defines[] = {
        DEF(STR, pass_filter),
        DEF(STR, iterate_attrs),
        DEF(STR, iterate_filter),
-       DEF(STR, default_pass_scheme),
        DEF(BOOL, blocking),
        SETTING_DEFINE_LIST_END
 };
@@ -68,16 +67,21 @@ static const struct ldap_settings ldap_default_settings = {
        .pass_filter = "(&(objectClass=posixAccount)(uid=%u))",
        .iterate_attrs = "uid=user",
        .iterate_filter = "(objectClass=posixAccount)",
-       .default_pass_scheme = "crypt",
        .blocking = FALSE
 };
 
+static const struct setting_keyvalue ldap_default_settings_keyvalue[] = {
+       { "passdb_ldap/passdb_default_password_scheme", "crypt" },
+       { NULL, NULL }
+};
+
 const struct setting_parser_info ldap_setting_parser_info = {
        .name = "auth_ldap",
 
        .check_func = ldap_setting_check,
        .defines = ldap_setting_defines,
        .defaults = &ldap_default_settings,
+       .default_settings = ldap_default_settings_keyvalue,
 
        .struct_size = sizeof(struct ldap_settings),
        .pool_offset1 = 1 + offsetof(struct ldap_settings, pool),
index f9d80cb050f62d53f4db866d9497da39c85becfe..0052229f141becfbbf794332d13d6a3036800e5d 100644 (file)
@@ -27,8 +27,6 @@ struct ldap_settings {
        const char *iterate_attrs;
        const char *iterate_filter;
 
-       const char *default_pass_scheme;
-
        unsigned int version;
 
        uid_t uid;
index 1a8a896feeca5b90578670cc04c44012c3838978..a1cdb101b8a35a837792b70fef4440fb9d79e719 100644 (file)
@@ -43,6 +43,7 @@ ldap_query_save_result(struct ldap_connection *conn,
                       struct ldap_request_search *ldap_request,
                       LDAPMessage *res)
 {
+       struct passdb_module *_module = auth_request->passdb->passdb;
        struct db_ldap_result_iterate_context *ldap_iter;
        const char *name, *const *values;
 
@@ -58,7 +59,7 @@ ldap_query_save_result(struct ldap_connection *conn,
                                  "using value '%s'", name, values[0]);
                }
                auth_request_set_field(auth_request, name, values[0],
-                                      conn->set->default_pass_scheme);
+                                      _module->default_pass_scheme);
        }
        db_ldap_result_iterate_deinit(&ldap_iter);
 }
@@ -471,7 +472,6 @@ static int passdb_ldap_preinit(pool_t pool, struct event *event,
                                     t_strconcat(conn->set->base,
                                                 conn->set->pass_attrs,
                                                 conn->set->pass_filter, NULL));
-       module->module.default_pass_scheme = conn->set->default_pass_scheme;
        *module_r = &module->module;
        return 0;
 }