]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dbox: Changed the default mailbox dir name, subscriptions and uidvalidity filenames.
authorTimo Sirainen <tss@iki.fi>
Thu, 12 Mar 2009 21:38:36 +0000 (17:38 -0400)
committerTimo Sirainen <tss@iki.fi>
Thu, 12 Mar 2009 21:38:36 +0000 (17:38 -0400)
--HG--
branch : HEAD

src/lib-storage/index/dbox/dbox-index.c
src/lib-storage/index/dbox/dbox-storage.c
src/lib-storage/index/dbox/dbox-storage.h

index 79dae2e479de7f22ab20080752a1bef0ddb55901..23817db9858ca07073f935a23e4c201994afed23 100644 (file)
@@ -160,11 +160,14 @@ dbox_index_set_corrupted(struct dbox_index *index, const char *reason)
 
 static uint32_t dbox_get_uidvalidity_next(struct mail_storage *storage)
 {
+       const char *fname;
        const char *path;
 
+       fname = *storage->list->set.mailbox_dir_name == '\0' ?
+               DBOX_OLD_UIDVALIDITY_FILE_NAME : DBOX_UIDVALIDITY_FILE_NAME;
        path = mailbox_list_get_path(storage->list, NULL,
                                     MAILBOX_LIST_PATH_TYPE_CONTROL);
-       path = t_strconcat(path, "/"DBOX_UIDVALIDITY_FILE_NAME, NULL);
+       path = t_strconcat(path, "/", fname, NULL);
        return mailbox_uidvalidity_next(path);
 }
 
index 3d144895528ef4847d0f29096f407bd14fe38ae8..2711f42384b76ed993b1a17a0a3d8cc7760286c3 100644 (file)
@@ -50,13 +50,15 @@ dbox_get_list_settings(struct mailbox_list_settings *list_set,
                       const char **layout_r, const char **alt_dir_r,
                       const char **error_r)
 {
+       const char *subs_fname = DBOX_SUBSCRIPTION_FILE_NAME;
        bool debug = (storage->flags & MAIL_STORAGE_FLAG_DEBUG) != 0;
 
        *layout_r = "fs";
 
        memset(list_set, 0, sizeof(*list_set));
-       list_set->subscription_fname = DBOX_SUBSCRIPTION_FILE_NAME;
+       list_set->subscription_fname = subs_fname;
        list_set->maildir_name = DBOX_MAILDIR_NAME;
+       list_set->mailbox_dir_name = DBOX_MAILBOX_DIR_NAME;
 
        if (data == NULL || *data == '\0' || *data == ':') {
                /* we won't do any guessing for this format. */
@@ -68,8 +70,14 @@ dbox_get_list_settings(struct mailbox_list_settings *list_set,
 
        if (debug)
                i_info("dbox: data=%s", data);
-       return mailbox_list_settings_parse(data, list_set, storage->ns,
-                                          layout_r, alt_dir_r, error_r);
+       if (mailbox_list_settings_parse(data, list_set, storage->ns,
+                                       layout_r, alt_dir_r, error_r) < 0)
+               return -1;
+
+       if (*list_set->mailbox_dir_name == '\0' &&
+           list_set->subscription_fname == subs_fname)
+               list_set->subscription_fname = DBOX_OLD_SUBSCRIPTION_FILE_NAME;
+       return 0;
 }
 
 static struct mail_storage *dbox_alloc(void)
index dafcefdb0312470db9a01b9907109c70d3ddf5d7..af99292deecab37ccba72953167b96c7dc585eb2 100644 (file)
@@ -5,10 +5,13 @@
 #include "mailbox-list-private.h"
 
 #define DBOX_STORAGE_NAME "dbox"
-#define DBOX_SUBSCRIPTION_FILE_NAME ".dbox-subscriptions"
-#define DBOX_UIDVALIDITY_FILE_NAME ".dbox-uidvalidity"
+#define DBOX_OLD_SUBSCRIPTION_FILE_NAME ".dbox-subscriptions"
+#define DBOX_OLD_UIDVALIDITY_FILE_NAME ".dbox-uidvalidity"
+#define DBOX_SUBSCRIPTION_FILE_NAME "subscriptions"
+#define DBOX_UIDVALIDITY_FILE_NAME "dovecot-uidvalidity"
 #define DBOX_INDEX_PREFIX "dovecot.index"
 
+#define DBOX_MAILBOX_DIR_NAME "mailboxes"
 #define DBOX_MAILDIR_NAME "dbox-Mails"
 #define DBOX_INDEX_NAME "dbox.index"
 #define DBOX_MAIL_FILE_MULTI_PREFIX "m."