]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Move mail_storage_settings.mail_debug to mail_user_settings
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 12 Jan 2023 13:33:17 +0000 (15:33 +0200)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 20 Nov 2023 12:20:16 +0000 (14:20 +0200)
src/lib-storage/mail-storage-service.c
src/lib-storage/mail-storage-settings.c
src/lib-storage/mail-storage-settings.h
src/lib-storage/mail-user.c

index 5f339946a08ebad23812603a0472ad04d45df124..1d3a2e9c9693e21d83caab14e24ebf173a9bba67 100644 (file)
@@ -100,16 +100,6 @@ mail_storage_service_var_expand(struct mail_storage_service_ctx *ctx,
                                const struct mail_storage_service_privileges *priv,
                                const char **error_r);
 
-static bool
-mail_user_set_get_mail_debug(const struct setting_parser_context *set_parser)
-{
-       const struct mail_storage_settings *mail_set;
-
-       mail_set = settings_parser_get_root_set(set_parser,
-                       &mail_storage_setting_parser_info);
-       return mail_set->mail_debug;
-}
-
 static void set_keyval(struct mail_storage_service_ctx *ctx,
                       struct mail_storage_service_user *user,
                       const char *key, const char *value)
@@ -1126,13 +1116,12 @@ void mail_storage_service_set_auth_conn(struct mail_storage_service_ctx *ctx,
 
 static void
 mail_storage_service_first_init(struct mail_storage_service_ctx *ctx,
-                               const struct setting_parser_context *set_parser,
                                const struct mail_user_settings *user_set,
                                enum mail_storage_service_flags service_flags)
 {
        enum auth_master_flags flags = 0;
 
-       ctx->debug = mail_user_set_get_mail_debug(set_parser) ||
+       ctx->debug = user_set->mail_debug ||
                     (service_flags & MAIL_STORAGE_SERVICE_FLAG_DEBUG) != 0;
        if (ctx->debug)
                flags |= AUTH_MASTER_FLAG_DEBUG;
@@ -1144,7 +1133,6 @@ mail_storage_service_first_init(struct mail_storage_service_ctx *ctx,
 
 static int
 mail_storage_service_load_modules(struct mail_storage_service_ctx *ctx,
-                                 const struct setting_parser_context *set_parser,
                                  const struct mail_user_settings *user_set,
                                  const char **error_r)
 {
@@ -1160,7 +1148,7 @@ mail_storage_service_load_modules(struct mail_storage_service_ctx *ctx,
        mod_set.binary_name = master_service_get_name(ctx->service);
        mod_set.setting_name = "mail_plugins";
        mod_set.require_init_funcs = TRUE;
-       mod_set.debug = mail_user_set_get_mail_debug(set_parser);
+       mod_set.debug = user_set->mail_debug;
 
        return module_dir_try_load_missing(&mail_storage_service_modules,
                                           user_set->mail_plugin_dir,
@@ -1275,9 +1263,9 @@ mail_storage_service_lookup_real(struct mail_storage_service_ctx *ctx,
                mail_storage_service_set_log_prefix(ctx, user_set, NULL, input, NULL);
 
        if (ctx->conn == NULL)
-               mail_storage_service_first_init(ctx, set_parser, user_set, flags);
+               mail_storage_service_first_init(ctx, user_set, flags);
        /* load global plugins */
-       if (mail_storage_service_load_modules(ctx, set_parser, user_set, error_r) < 0) {
+       if (mail_storage_service_load_modules(ctx, user_set, error_r) < 0) {
                pool_unref(&user_pool);
                return -1;
        }
@@ -1371,8 +1359,7 @@ mail_storage_service_lookup_real(struct mail_storage_service_ctx *ctx,
 
        /* load per-user plugins */
        if (ret > 0) {
-               if (mail_storage_service_load_modules(ctx, user->set_parser,
-                                                     user->user_set,
+               if (mail_storage_service_load_modules(ctx, user->user_set,
                                                      error_r) < 0) {
                        ret = -2;
                }
@@ -1666,7 +1653,7 @@ void mail_storage_service_init_settings(struct mail_storage_service_ctx *ctx,
        user_set = settings_parser_get_root_set(set_parser,
                                                &mail_user_setting_parser_info);
 
-       mail_storage_service_first_init(ctx, set_parser, user_set, ctx->flags);
+       mail_storage_service_first_init(ctx, user_set, ctx->flags);
 }
 
 static int
index 93da75caa2793613d99c713b042dfa37ce062e83..65dbd248ab554adfcdc52f899970a2abe817e167 100644 (file)
@@ -75,7 +75,6 @@ static const struct setting_define mail_storage_setting_defines[] = {
        DEF(BOOL, mailbox_list_index),
        DEF(BOOL, mailbox_list_index_very_dirty_syncs),
        DEF(BOOL, mailbox_list_index_include_inbox),
-       DEF(BOOL, mail_debug),
        DEF(BOOL, mail_full_filesystem_access),
        DEF(BOOL, maildir_stat_dirs),
        DEF(BOOL, mail_shared_explicit_inbox),
@@ -133,7 +132,6 @@ const struct mail_storage_settings mail_storage_default_settings = {
        .mailbox_list_index = TRUE,
        .mailbox_list_index_very_dirty_syncs = FALSE,
        .mailbox_list_index_include_inbox = FALSE,
-       .mail_debug = FALSE,
        .mail_full_filesystem_access = FALSE,
        .maildir_stat_dirs = FALSE,
        .mail_shared_explicit_inbox = FALSE,
@@ -272,6 +270,7 @@ static const struct setting_define mail_user_setting_defines[] = {
        DEF(STR, base_dir),
        DEF(STR, auth_socket_path),
        DEF(STR_VARS, mail_temp_dir),
+       DEF(BOOL, mail_debug),
 
        DEF(STR, mail_uid),
        DEF(STR, mail_gid),
@@ -305,6 +304,7 @@ static const struct mail_user_settings mail_user_default_settings = {
        .base_dir = PKG_RUNDIR,
        .auth_socket_path = "auth-userdb",
        .mail_temp_dir = "/tmp",
+       .mail_debug = FALSE,
 
        .mail_uid = "",
        .mail_gid = "",
index acc20a9b8031b58d83ecf7d555a6218912782754..131ab132358192983c5e8875c4a572de8f2ef1ee 100644 (file)
@@ -56,7 +56,6 @@ struct mail_storage_settings {
        bool mailbox_list_index;
        bool mailbox_list_index_very_dirty_syncs;
        bool mailbox_list_index_include_inbox;
-       bool mail_debug;
        bool mail_full_filesystem_access;
        bool maildir_stat_dirs;
        bool mail_shared_explicit_inbox;
@@ -119,6 +118,7 @@ struct mail_user_settings {
        const char *base_dir;
        const char *auth_socket_path;
        const char *mail_temp_dir;
+       bool mail_debug;
 
        const char *mail_uid;
        const char *mail_gid;
index 426861245e992b977b00e8800c81322d72aca01a..19e475c0b7a8e98002d1b127e1f457740e45248b 100644 (file)
@@ -172,7 +172,6 @@ int mail_user_var_expand(struct mail_user *user,
 
 int mail_user_init(struct mail_user *user, const char **error_r)
 {
-       const struct mail_storage_settings *mail_set;
        const char *error;
 
        i_assert(!user->initialized);
@@ -206,8 +205,7 @@ int mail_user_init(struct mail_user *user, const char **error_r)
        /* autocreated users for shared mailboxes need to be fully initialized
           if they don't exist, since they're going to be used anyway */
        if (user->error == NULL || user->nonexistent) {
-               mail_set = mail_user_set_get_storage_set(user);
-               user->mail_debug = mail_set->mail_debug;
+               user->mail_debug = user->set->mail_debug;
 
                user->initialized = TRUE;
                hook_mail_user_created(user);