struct file_lock;
struct file_create_settings;
+struct fs;
/* Default prefix for indexes */
#define MAIL_INDEX_PREFIX "dovecot.index"
#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,
* 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;
attributes. */
struct dict *_shared_attr_dict;
+ /* optional fs-api object for accessing mailboxes */
+ struct fs *mailboxes_fs;
+
/* Module-specific contexts. See mail_storage_module_id. */
ARRAY(union mail_storage_module_context *) module_contexts;
/* Failed to create shared attribute dict, don't try again */
bool shared_attr_dict_failed:1;
bool last_error_is_internal:1;
+ bool rebuilding_list_index:1;
+ bool rebuild_list_index:1;
};
struct mail_attachment_part {
}
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;