]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Replace ALTNOCHECK with mail_alt_check setting
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 27 Oct 2023 12:41:26 +0000 (15:41 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Wed, 12 Feb 2025 10:34:10 +0000 (12:34 +0200)
src/lib-storage/index/dbox-common/dbox-storage.c
src/lib-storage/mail-storage-settings.c
src/lib-storage/mail-storage-settings.h
src/lib-storage/mailbox-list.c
src/lib-storage/mailbox-list.h

index 875d916023cc20a7a0eca739f9ad17802a7d69db..691a9f61ad67fe6db01c94691b719b4f95d95f1f 100644 (file)
@@ -128,7 +128,7 @@ int dbox_storage_create(struct mail_storage *_storage,
                }
        }
 
-       if (!ns->list->set.alt_dir_nocheck)
+       if (ns->list->mail_set->mail_alt_check)
                dbox_verify_alt_path(ns->list, _storage->event);
        return 0;
 }
index 5fbb9281720177bd32f377a2bfa370c95fe0e72d..2cbe2eddb75c232088b43fee37234fc360201c0c 100644 (file)
@@ -84,6 +84,7 @@ static const struct setting_define mail_storage_setting_defines[] = {
        DEF(STR_HIDDEN, mailbox_root_directory_name),
        DEF(STR_HIDDEN, mailbox_subscriptions_filename),
        DEF(STR, mail_volatile_path),
+       DEF(BOOL_HIDDEN, mail_alt_check),
        DEF(BOOL_HIDDEN, mail_full_filesystem_access),
        DEF(BOOL, maildir_stat_dirs),
        DEF(BOOL, mail_shared_explicit_inbox),
@@ -152,6 +153,7 @@ const struct mail_storage_settings mail_storage_default_settings = {
        .mailbox_root_directory_name = "",
        .mailbox_subscriptions_filename = "subscriptions",
        .mail_volatile_path = "",
+       .mail_alt_check = TRUE,
        .mail_full_filesystem_access = FALSE,
        .maildir_stat_dirs = FALSE,
        .mail_shared_explicit_inbox = FALSE,
@@ -993,6 +995,7 @@ static const size_t mail_storage_2nd_reset_offsets[] = {
        OFFSET(mailbox_root_directory_name),
        OFFSET(mailbox_subscriptions_filename),
        OFFSET(mail_volatile_path),
+       OFFSET(mail_alt_check),
 };
 
 static void
index 81fcf8464a127eb9e49ee0a5e9510daaf0ae7b8c..ddbb635eeb28469eb2319d8bb7ca11b4c2172dd4 100644 (file)
@@ -64,6 +64,7 @@ struct mail_storage_settings {
        const char *mailbox_root_directory_name;
        const char *mailbox_subscriptions_filename;
        const char *mail_volatile_path;
+       bool mail_alt_check;
        bool mail_full_filesystem_access;
        bool maildir_stat_dirs;
        bool mail_shared_explicit_inbox;
index 052bc8d11489c7d57a65a9e7364fd29dcdac5210..6da026b9281bee59fa10188af332b881e79b85e9 100644 (file)
@@ -169,7 +169,6 @@ int mailbox_list_create(struct event *event, struct mail_namespace *ns,
        list->set.maildir_name =
                p_strdup(list->pool, set->maildir_name);
        list->set.alt_dir = p_strdup(list->pool, set->alt_dir);
-       list->set.alt_dir_nocheck = set->alt_dir_nocheck;
        list->set.index_control_use_maildir_name =
                set->index_control_use_maildir_name;
 
@@ -311,10 +310,7 @@ mailbox_list_settings_parse_full(struct mail_user *user, const char *data,
                        dest = &set_r->control_dir;
                else if (strcmp(key, "ALT") == 0)
                        dest = &set_r->alt_dir;
-               else if (strcmp(key, "ALTNOCHECK") == 0) {
-                       set_r->alt_dir_nocheck = TRUE;
-                       continue;
-               } else if (strcmp(key, "DIRNAME") == 0)
+               else if (strcmp(key, "DIRNAME") == 0)
                        dest = &set_r->maildir_name;
                else if (strcmp(key, "FULLDIRNAME") == 0) {
                        set_r->index_control_use_maildir_name = TRUE;
index ceda61f6729ca909a314efbaeed487e33deae2a2..72f43866218253fb085d2f8afb45bf1d1ace0472 100644 (file)
@@ -157,8 +157,6 @@ struct mailbox_list_settings {
        char vname_escape_char;
        /* Use UTF-8 mailbox names on filesystem instead of mUTF-7 */
        bool utf8:1;
-       /* Don't check/create the alt-dir symlink. */
-       bool alt_dir_nocheck:1;
        /* Use maildir_name also for index/control directories. This should
           have been the default since the beginning, but for backwards
           compatibility it had to be made an option. */