History log of /dovecot/src/lib-storage/list/mailbox-list-delete.h
Revision Date Author Comments Expand
d823c19df414cac96c7f50a6f78a13fd03bcb27e 25-Jul-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Hide and rmdir \NoSelect leaf mailboxes with NO-NOSELECT If the leaf is successfully rmdir()ed, rmdir() also its parents. This doesn't work perfectly with if there are multiple levels of \NoSelect mailboxes. For example with "a/b/c" the listing will already have returned "a" and "a/b" before it reaches the "a/b/c" code, which will rmdir all of them, but it's a bit too late at that point. It's too much work to fix though, and the situation will be fixed on the next list anyway.

12bd6ddfeb75d81ccc09bf34b374b0637dfe890f 29-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add mailbox_list_delete_finish_ret() This simplifies deletion logic for mailbox list backends.

a1bef9db6db683360e6e7be59a7f9e9718cf6ff5 29-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: mailbox_list_delete_finish() - Return whether anything was deleted

0877bd89b43d59c0e0257eb08305b22866ec21d5 29-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add comments to mailbox-list-delete.h

97e511960951550338d69cac98fb5f3ca2badb09 23-Aug-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Changed unlink_directory() API to return error string. There are many different reasons why it could fail, which a simple errno can't very clearly indicate.

e0aff4c7e3336ec4b5edbcfc3a72e1e118603ee2 27-Sep-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Added initial implementation for layout=index. The idea is that all of the mailbox names only exist in the mailbox list index. Storage directories use mailbox GUIDs. This avoids all kinds of race conditions with mailbox renames. mailbox_list_index=yes is required for this layout to work. There are probably still some race conditions within the indexing code itself. Also error recovery is missing.

a8fe899601735459641edae975c0fa08be8482e2 16-Sep-2012 Timo Sirainen <tss@iki.fi>

Removed all the "enum foo;" declarations. They didn't seem to be very standard. Old gcc versions warn about them and C++ code doesn't like them.

/dovecot/src/auth/passdb-cache.h /dovecot/src/config/config-request.h /dovecot/src/config/old-set-parser.h /dovecot/src/doveadm/doveadm-mail-index.c /dovecot/src/doveadm/doveadm-mail-iter.h /dovecot/src/doveadm/doveadm-mail.c /dovecot/src/doveadm/doveadm-mail.h /dovecot/src/doveadm/doveadm-mailbox-list-iter.h /dovecot/src/doveadm/dsync/dsync-mailbox-tree-fill.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-notify.c /dovecot/src/imap/imap-notify.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-index-modseq.h /dovecot/src/lib-lda/mail-deliver.h /dovecot/src/lib-storage/Makefile.am /dovecot/src/lib-storage/index/imapc/imapc-sync.h /dovecot/src/lib-storage/index/maildir/maildir-sync.h mailbox-list-delete.h mailbox-list-index.h mailbox-list-subscriptions.h /dovecot/src/lib-storage/mailbox-list-iter.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/plugins/notify/notify-plugin.h /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/virtual/virtual-config.c
0b25846ba794ce19536a24d4065beaf2a0bd9464 30-Apr-2011 Timo Sirainen <tss@iki.fi>

lib-storage: mailbox_delete() for a symlink now removes the symlink instead of expunging mails.

4cdfd6cc490503ed4176a6796140470916d06e01 30-Dec-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Fixed deleting symlinked mailbox.

ae1a57954535642c09c3b8aee184736ddbb06cdf 01-Jul-2010 Timo Sirainen <tss@iki.fi>

lib-storage: When renaming a mailbox, make sure any unnecessary directories get deleted. --HG-- branch : HEAD

61b0637759146621cbb7edcbd0b03a71cfd66dfe 09-Feb-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Mailbox deletion API changed. Mailbox deletion should now be free of race conditions. The actual file deletion code is now responsibility of mailbox_list backend. --HG-- branch : HEAD

/dovecot/src/dsync/dsync-worker-local.c /dovecot/src/imap/cmd-delete.c /dovecot/src/lib-storage/index/cydir/cydir-storage.c /dovecot/src/lib-storage/index/dbox-common/dbox-mail.h /dovecot/src/lib-storage/index/dbox-common/dbox-storage.c /dovecot/src/lib-storage/index/dbox-common/dbox-storage.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-map.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.c /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-transaction.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/raw/raw-storage.c /dovecot/src/lib-storage/index/shared/shared-list.c Makefile.am mailbox-list-delete.c mailbox-list-delete.h mailbox-list-fs.c mailbox-list-fs.h mailbox-list-maildir.c mailbox-list-maildir.h /dovecot/src/lib-storage/mail-copy.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib-storage/test-mailbox.c /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/listescape/listescape-plugin.c /dovecot/src/plugins/mail-log/mail-log-plugin.c /dovecot/src/plugins/notify/notify-noop.c /dovecot/src/plugins/notify/notify-plugin-private.h /dovecot/src/plugins/notify/notify-plugin.c /dovecot/src/plugins/notify/notify-plugin.h /dovecot/src/plugins/notify/notify-storage.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/virtual/virtual-storage.c