]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Add userdb_use_cache setting
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 26 Jan 2024 15:10:06 +0000 (17:10 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Wed, 12 Feb 2025 10:34:11 +0000 (12:34 +0200)
src/auth/auth-settings.c
src/auth/auth-settings.h
src/auth/auth.c

index 1f677b17adbfff5f4ce0b1cef22b6117b4ac7733..709e6e08f7f3402469046707b2d88376d2e39254 100644 (file)
@@ -212,6 +212,7 @@ static const struct setting_define auth_userdb_setting_defines[] = {
        DEF(ENUM, result_failure),
        DEF(ENUM, result_internalfail),
 
+       DEF(BOOL, use_cache),
        DEF(BOOL, use_worker),
 
        SETTING_DEFINE_LIST_END
@@ -228,6 +229,7 @@ static const struct auth_userdb_settings auth_userdb_default_settings = {
        .result_failure = "continue:return:return-ok:return-fail:continue-ok:continue-fail",
        .result_internalfail = "continue:return:return-ok:return-fail:continue-ok:continue-fail",
 
+       .use_cache = TRUE,
        .use_worker = FALSE,
 };
 
index 476708100ea83af6d26430ca5616c3d58ad5b19a..cbb5c07e53e98000fdffc5794dd5437e765568bc 100644 (file)
@@ -55,6 +55,7 @@ struct auth_userdb_settings {
        const char *result_failure;
        const char *result_internalfail;
 
+       bool use_cache;
        bool use_worker;
 };
 
index eef036d5a2bdb961a7183a64431acddb0f5cc09d..3c4cb00d2da9e0c4463e6c0224d397027ad396c1 100644 (file)
@@ -178,7 +178,7 @@ auth_userdb_preinit(struct auth *auth, const struct auth_userdb_settings *set)
 
        auth_userdb->userdb = userdb_preinit(auth->pool, event, set);
        /* make sure any %variables in default_fields exist in cache_key */
-       if (auth_userdb->userdb->default_cache_key != NULL) {
+       if (auth_userdb->userdb->default_cache_key != NULL && set->use_cache) {
                struct auth_userdb_pre_settings *userdb_pre_set;
                const char *error;
                if (settings_get(event, &auth_userdb_pre_setting_parser_info,