From: Timo Sirainen Date: Fri, 26 Jan 2024 15:10:06 +0000 (+0200) Subject: auth: Add userdb_use_cache setting X-Git-Tag: 2.4.1~1088 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54eb392bece8535fd5f948ebecafa2f9b75f8be6;p=thirdparty%2Fdovecot%2Fcore.git auth: Add userdb_use_cache setting --- diff --git a/src/auth/auth-settings.c b/src/auth/auth-settings.c index 1f677b17ad..709e6e08f7 100644 --- a/src/auth/auth-settings.c +++ b/src/auth/auth-settings.c @@ -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, }; diff --git a/src/auth/auth-settings.h b/src/auth/auth-settings.h index 476708100e..cbb5c07e53 100644 --- a/src/auth/auth-settings.h +++ b/src/auth/auth-settings.h @@ -55,6 +55,7 @@ struct auth_userdb_settings { const char *result_failure; const char *result_internalfail; + bool use_cache; bool use_worker; }; diff --git a/src/auth/auth.c b/src/auth/auth.c index eef036d5a2..3c4cb00d2d 100644 --- a/src/auth/auth.c +++ b/src/auth/auth.c @@ -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,