From b4d3ccadbbd51a09f77724e45a8f90260e3170fa Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 11 Nov 2024 22:49:21 +0200 Subject: [PATCH] lib-storage: Add mailbox_list_lost_mailbox_prefix hidden setting This replaces mail_storage.lost_mailbox_prefix. --- src/lib-storage/list/mail-storage-list-index-rebuild.c | 8 ++++---- src/lib-storage/mail-storage-private.h | 5 ----- src/lib-storage/mail-storage-settings.c | 2 ++ src/lib-storage/mail-storage-settings.h | 1 + src/lib-storage/mail-storage.c | 2 -- 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/lib-storage/list/mail-storage-list-index-rebuild.c b/src/lib-storage/list/mail-storage-list-index-rebuild.c index dec4089ea1..d740c8c77a 100644 --- a/src/lib-storage/list/mail-storage-list-index-rebuild.c +++ b/src/lib-storage/list/mail-storage-list-index-rebuild.c @@ -153,8 +153,8 @@ static const char *get_box_name(struct mail_storage_list_index_rebuild_ctx *ctx, "but could not recover mailbox name", guid_128_to_string(box->guid), path); box_name = t_strdup_printf("%s%s", - ctx->storage->lost_mailbox_prefix, - guid_128_to_string(box->guid)); + ctx->storage->set->mailbox_list_lost_mailbox_prefix, + guid_128_to_string(box->guid)); } return box_name; } @@ -211,8 +211,8 @@ mail_storage_list_remove_duplicate(struct mail_storage_list_index_rebuild_ctx *c } /* we'll need to delete one of these entries. if one of them begins with "lost-", remove it. otherwise just pick one of them randomly. */ - if (strncmp(box->name, ctx->storage->lost_mailbox_prefix, - strlen(ctx->storage->lost_mailbox_prefix)) == 0) { + if (strncmp(box->name, ctx->storage->set->mailbox_list_lost_mailbox_prefix, + strlen(ctx->storage->set->mailbox_list_lost_mailbox_prefix)) == 0) { delete_name = box->name; keep_name = rebuild_box->index_name; } else { diff --git a/src/lib-storage/mail-storage-private.h b/src/lib-storage/mail-storage-private.h index 592d3cfdd1..6732bd80e4 100644 --- a/src/lib-storage/mail-storage-private.h +++ b/src/lib-storage/mail-storage-private.h @@ -25,8 +25,6 @@ struct fs; #define MAIL_SHARED_STORAGE_NAME "shared" -#define MAIL_STORAGE_LOST_MAILBOX_PREFIX "recovered-lost-folder-" - enum mail_storage_list_index_rebuild_reason { /* Mailbox list index was found to be corrupted. */ MAIL_STORAGE_LIST_INDEX_REBUILD_REASON_CORRUPTED, @@ -166,9 +164,6 @@ struct mail_storage { * uniqueness checking (via strcmp) and never used as a path. */ const char *unique_root_dir; - /* prefix for lost mailbox */ - const char *lost_mailbox_prefix; - /* Last error set in mail_storage_set_critical(). */ char *last_internal_error; char *last_internal_error_mailbox; diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c index 0680c821e3..d568aca8bd 100644 --- a/src/lib-storage/mail-storage-settings.c +++ b/src/lib-storage/mail-storage-settings.c @@ -86,6 +86,7 @@ static const struct setting_define mail_storage_setting_defines[] = { DEF(BOOL_HIDDEN, mailbox_list_utf8), DEF(STR, mailbox_list_visible_escape_char), DEF(STR, mailbox_list_storage_escape_char), + DEF(STR_HIDDEN, mailbox_list_lost_mailbox_prefix), DEF(STR_HIDDEN, mailbox_directory_name), DEF(BOOL, mailbox_directory_name_legacy), DEF(STR_HIDDEN, mailbox_root_directory_name), @@ -165,6 +166,7 @@ const struct mail_storage_settings mail_storage_default_settings = { .mailbox_list_utf8 = FALSE, .mailbox_list_visible_escape_char = "", .mailbox_list_storage_escape_char = "", + .mailbox_list_lost_mailbox_prefix = "recovered-lost-folder-", .mailbox_directory_name = "", .mailbox_directory_name_legacy = TRUE, .mailbox_root_directory_name = "", diff --git a/src/lib-storage/mail-storage-settings.h b/src/lib-storage/mail-storage-settings.h index f4a1ba20c7..8ad2960f2f 100644 --- a/src/lib-storage/mail-storage-settings.h +++ b/src/lib-storage/mail-storage-settings.h @@ -67,6 +67,7 @@ struct mail_storage_settings { bool mailbox_list_utf8; const char *mailbox_list_visible_escape_char; const char *mailbox_list_storage_escape_char; + const char *mailbox_list_lost_mailbox_prefix; const char *mailbox_directory_name; bool mailbox_directory_name_legacy; const char *mailbox_root_directory_name; diff --git a/src/lib-storage/mail-storage.c b/src/lib-storage/mail-storage.c index 99bae4536a..7149217872 100644 --- a/src/lib-storage/mail-storage.c +++ b/src/lib-storage/mail-storage.c @@ -492,8 +492,6 @@ mail_storage_create_real(struct mail_namespace *ns, struct event *set_event, } storage = storage_class->v.alloc(); - if (storage->lost_mailbox_prefix == NULL) - storage->lost_mailbox_prefix = MAIL_STORAGE_LOST_MAILBOX_PREFIX; storage->refcount = 1; storage->storage_class = storage_class; storage->user = ns->user; -- 2.47.3