History log of /dovecot/src/lib-storage/mail-storage-private.h
Revision Date Author Comments Expand
66fa646212a2c1cfd3ec45f97488b6a8ae41cdc0 01-Mar-2018 Aki Tuomi <aki.tuomi@dovecot.fi>

lib-storage: Add tests for mailbox_verify_name

08495095af85423369e1419dc1a4bd8299a4022c 13-Feb-2018 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Remove mailbox_transaction_context.nontransactional_changes Nothing cares about them. It was only set for POP3 UIDL change with Maildir. In theory dsync replication would want to replicate such a change, but it doesn't actually support changing UIDLs for existing mails. Other mailbox formats don't support it anyway.

74943466e541d8bfe3916bb0eb9fb9cb0599dfe7 07-Feb-2018 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: mail_storage_lock_create() - add support for dotlocks

2039bdca260cd123832ddda9b2b6862a4abc53aa 07-Feb-2018 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add mail_storage_lock_create() This is split off of mailbox_lock_file_create().

c51390c3ae6e373e7b4a052a94e8e4065b98321c 24-Jan-2018 Aki Tuomi <aki.tuomi@dovecot.fi>

lib-storage: Add and use MAIL_STORAGE_CONTEXT_REQUIRE Satisfies static analyzers

722c012ccadcf1f63d70439a2564e77510b6dd86 17-Jan-2018 Aki Tuomi <aki.tuomi@dovecot.fi>

lib-storage: Set keyword based on attachment presence when saving If attachment is detected, use $HasAttachment, if not use $HasNoAttachment

c499c40caf37f766968a551909190c5b009a9b15 13-Dec-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add mail.event

b644a77b00ce21c67a7becda974a12dfe3a946e4 13-Dec-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add mailbox.event

677cc0d62b41c7506246bf1b992a400a11896474 13-Dec-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add mail_user.event and give parent event in mail_user_alloc*()

b42817ce16a8660cbcc4adfc8bccc3db1c6d00c7 05-Dec-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Rebuild list index when doing doveadm force-resync

8049d5792631981b50b0ad226a03298445e305c7 05-Dec-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

LAYOUT=index: Rebuild list index if INBOX is missing on inbox=yes namespace This avoids having to manually rebuild the list index afterwards if it becomes lost.

82d1fe3d5d04fb11e3e89cce03dc4de191e58f75 05-Dec-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Rename mail_storage.list_index_corrupted() to list_index_rebuild() Also add a new parameter to it to specify the rebuild reason.

4e3b79ac7787b1a867514a6ac3d1b623b72a26c6 22-Nov-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add mailbox_set_critical() and mail_set_critical() These add the mailbox vname and mail UID to the log prefix and then call mail_storage_set_critical().

2ceb75f820c9415b767a17e1f4830c75093ab867 05-Oct-2017 Stephan Bosch <stephan.bosch@dovecot.fi>

lib-storage: Implemented mailbox_is_autosubscribed(). Indicates whether the mailbox is automatically subscribed to when it is automatically created.

9a19ae4b399557c0bba809bbf32221a4b8957e86 03-Oct-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

lib-storage: Remove obsolete mailbox_save_set_dest_mail()

c6ce2e251ac75fa650c7fbfa52150eae69386293 22-Sep-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

lib-storage: Add reason to mailbox.transaction_begin()

34902486e270728379fd147ca9d7b8d366fcd0e6 25-Aug-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add mail_storage_set_index_error()

c0c346d0e6a76137ba5006857ed03b1227804170 09-Aug-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Panic if at mailbox_free() there are open attribute iterators.

4906f652013f9f9ea806602b5cd677ef0d039d62 10-Jul-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: mailbox_sync_init() - open mailbox immediately if it's not open yet This simplifies the work for plugins that want to hook into mailbox.sync_init() so they no longer have to handle the "mailbox isn't opened" case.

bd94a2a86e27f4809d087a8269bc4ccdd5f4ede3 28-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Move .vsize.lock creation to a generic mailbox_lock_file_create()

b0f08544a680b029666ab0e43ebcd913f0b91965 28-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Make mailbox_is_autocreated() public This also removes duplicated code from acl plugin.

30d50c7e8706f2d750215e009504109ca19cd485 24-May-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Fix mail_storage_last_error_push/pop() to work with internal errors

b99515ba4105f6bfd7fa7590dcc73fabf734dec6 12-May-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add missing ATTR_FORMAT to mail_set_mail_cache_corrupted()

7522446d6514e5593c9d4d7e4beacd328301cb23 11-May-2017 Aki Tuomi <aki.tuomi@dovecot.fi>

lib-storage: Use new mail_cache_set_seq_corrupted_reason

afe1da042382720393eca6497253106e4eec75e0 24-Apr-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add mail_storage.nonbody_access_fields This avoids index_mail_update_access_parts_pre() from opening the mail stream unnecessarily for fields that can be looked up via other methods by the storage.

d1fbd2c264368d8b4c7139b96e3b21f45930b857 03-Apr-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add mailbox_transaction_set_reason()

4b41218f9e09386ad5d8f279355aad1dfb64392d 03-Apr-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add mailbox_set_reason() Use it to log a debug message when mailbox is being opened.

6c51e3c3dc8dc5dc6fef2280b7c2c9ebef3de8f0 27-Mar-2017 Aki Tuomi <aki.tuomi@dovecot.fi>

lib-storage: Indicate mail is being autoexpunged This way plugins, such as mail_log, can detect this.

98c217499d578495e982ea6010ebff831e9669ae 23-Mar-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

lib-storage: Add mail_storage_get_last_internal_error() This returns the error given to mail_storage_set_critical().

3857e2945a3b6744d603f0f5a656849ed8436ba3 15-Feb-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Make sure mailbox undeletion won't go to infinite loop

897368f75a68f97e172ba76540759a10c557f1c3 14-Feb-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Always create mail_save_context.dest_mail This allows removing similar mail_alloc() from storage backends and plugins that need it. As a side effect, this changes mbox code to always assign UIDs to saved mails. This shouldn't be much of a problem, since it happened practically always already.

134987bc3b685d7ec71c04e9337f7125cff0698f 30-Jan-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Move index_mail.vsize_ext_id to mailbox.mail_vsize_ext_id It's mailbox-specific, so it doesn't have to be looked up every time. Also this is needed for the following fix.

3743948b65bd079cd6f2502d35bd21666c1a2f5a 02-Jan-2017 Aki Tuomi <aki.tuomi@dovecot.fi>

index-storage: Update mailbox last_rename_stamp on rename

d0d37a769d7e54646de025a43d2cb888478cb218 30-Nov-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add struct mail_save_context.copy_src_mail

857c471c13ca215f4be9dd4b336b742b8d434e31 25-Nov-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add mail_storage.list_index_corrupted() The actual implementation is in the next commit.

08e9fd42eb8007e1f9db62c088eef74f906114a5 22-Nov-2016 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

lib-storage: require MAIL_STORAGE_CLASS_FLAG_STUBS when caching If we are going to be using the storage for caching, we should check that the storage actually supports mail stubs.

61cae213dc69070c1cef266578057710e34e0d12 18-Nov-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Add support for storing "mail stubs" These allow treating a storage backend as a cache where the mail bodies don't necessarily exist.

540555c5b435203e1c26c8e7b924b2643ae07ae3 16-Nov-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Added struct mailbox.corrupted_mailbox_name This allows backends that are adding lost mailboxes to mailbox list index to indicate that they don't actually know the name of the mailbox, and the mailbox list index should try to figure it out and rename the mailbox to its proper name.

97a5e150cacf7da9dd200e317b75460352038d65 16-Nov-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

LAYOUT=index: Update mailbox name to mailbox index's header when opening. This way if the mailbox list index gets lost, a recent mailbox name is still available.

21aaa6affb9f134112b75b5db737309fc35ef1cf 27-Oct-2016 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

lib-storage: rename get_real_mail to get_backend_mail Also change the function signature so that it returns an int to indicate success or failure.

7900eb30bac4a46b259522c58362884661483d7c 18-Oct-2016 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

lib-storage: treat empty root_dir as an empty string

05150df8fbda6b8fdfafcfb0aa9003f1da4ecaca 29-Sep-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Don't reset mail_save_context.saving too early. If mailbox_save_using_mail() ended up in mail_storage_copy(), saving was set to FALSE before the copy() method was finished running. This caused e.g. notify plugin to think that this was a copy event instead of a save event. Added comments and asserts to clarify how the logic should work between all the different copying/moving/saving flags.

bd6a8056771b6150685dea319ab5a94e021d17f1 20-Sep-2016 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

lib-storage: remove unused internal_attribute argument from attribute_{get,set} This removes an argument added in 9f37ef2a9192e7d47e3d7ac959080fd01120f2e9 but obsoleted (but not removed) in d1147c225f64596fc5eeb1cb2aab31b3c57d5215. Not only does this change simplify the codebase, it actually brings the API closer to what it was back in 2.2.

0206dc57f2c04da69599dea5816235cfeb2b897a 13-Aug-2016 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

lib-storage: remove set_cache_corrupted_reason from mail_vfuncs Change set_cache_corrupted signature to what set_cache_corrupted_reason used to be.

9f37ef2a9192e7d47e3d7ac959080fd01120f2e9 10-Aug-2016 Aki Tuomi <aki.tuomi@dovecot.fi>

lib-storage: Change mailbox_attribute_get* API lib-storage/mailbox-attribute.h: mailbox_attribute_get() and mailbox_attribute_get_stream() now has struct mailbox_transaction_context as their first parameter. This isn't good for performance, because opening a transaction requires opening mailbox indexes first. But reading attributes wouldn't actually require opening the indexes, so this is just wasteful.

2c8ca7e88ec881c473fb90e5f647c1f563877164 03-Aug-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Added mail_get_stream_because() and mail_get_hdr_stream_because() With mail_debug=yes each mail access is now logged with a reason. This can be helpful when figuring out why something isn't in dovecot.index.cache.

aa47c9bd1d1fc70cd699c49fd1ca92dbc7615953 21-Jun-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Added quick parameter to list_index_has_changed()

2b9dbb270ad82e58d5f3581436e6f143176d5819 21-Jun-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

dbox: Optimize POP3 MAIL_FETCH_UIDL_BACKEND. We keep track of the highest UID known to have POP3 UIDL in index's header. If saving adds a newer message, it'll also update the header. When fetching UIDL_BACKEND, we can need to check only mails with lower UIDs. There are some race conditions here, but normally UIDLs are set only once during migration so it shouldn't matter.

0dffa25d211be541ee3c953b23566a1a990789df 06-Jun-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

global: unsigned int:1 -> bool:1 perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch]

/dovecot/src/anvil/anvil-connection.c /dovecot/src/anvil/penalty.c /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-penalty.c /dovecot/src/auth/auth-postfix-connection.c /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-checkpassword.c /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/db-sql.h /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/userdb-passwd.c /dovecot/src/auth/userdb-sql.c /dovecot/src/auth/userdb-static.c /dovecot/src/config/config-connection.c /dovecot/src/config/config-parser-private.h /dovecot/src/config/doveconf.c /dovecot/src/dict/dict-connection.h /dovecot/src/director/director-connection.c /dovecot/src/director/director-host.h /dovecot/src/director/director.h /dovecot/src/director/doveadm-connection.c /dovecot/src/director/login-connection.c /dovecot/src/director/mail-host.h /dovecot/src/director/user-directory.h /dovecot/src/doveadm/client-connection.h /dovecot/src/doveadm/doveadm-dsync.c /dovecot/src/doveadm/doveadm-mail-index.c /dovecot/src/doveadm/doveadm-mail-mailbox-status.c /dovecot/src/doveadm/doveadm-mail.h /dovecot/src/doveadm/doveadm-print-flow.c /dovecot/src/doveadm/doveadm-print-pager.c /dovecot/src/doveadm/doveadm-print-tab.c /dovecot/src/doveadm/doveadm-print-table.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/dsync/dsync-brain-private.h /dovecot/src/doveadm/dsync/dsync-ibc-private.h /dovecot/src/doveadm/dsync/dsync-ibc-stream.c /dovecot/src/doveadm/dsync/dsync-mailbox-export.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-mailbox-tree.h /dovecot/src/doveadm/server-connection.c /dovecot/src/imap-login/imap-login-client.h /dovecot/src/imap-urlauth/imap-urlauth-client.h /dovecot/src/imap-urlauth/imap-urlauth-login.c /dovecot/src/imap-urlauth/imap-urlauth-worker.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-urlfetch.c /dovecot/src/imap/imap-client.h /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-notify.h /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sync.c /dovecot/src/indexer/indexer-client.c /dovecot/src/indexer/indexer-queue.h /dovecot/src/indexer/master-connection.c /dovecot/src/indexer/worker-connection.c /dovecot/src/ipc/ipc-connection.h /dovecot/src/lib-auth/auth-client-private.h /dovecot/src/lib-auth/auth-master.c /dovecot/src/lib-auth/auth-master.h /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-compression/istream-bzlib.c /dovecot/src/lib-compression/istream-lz4.c /dovecot/src/lib-compression/istream-lzma.c /dovecot/src/lib-compression/istream-zlib.c /dovecot/src/lib-compression/ostream-bzlib.c /dovecot/src/lib-compression/ostream-lzma.c /dovecot/src/lib-compression/ostream-zlib.c /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-fs/fs-api-private.h /dovecot/src/lib-http/http-client-private.h /dovecot/src/lib-http/http-header-parser.c /dovecot/src/lib-http/http-message-parser.h /dovecot/src/lib-http/http-request-parser.c /dovecot/src/lib-http/http-request.h /dovecot/src/lib-http/http-response.h /dovecot/src/lib-http/http-server-private.h /dovecot/src/lib-http/http-transfer-chunked.c /dovecot/src/lib-http/http-url.c /dovecot/src/lib-http/http-url.h /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-imap-storage/imap-metadata.c /dovecot/src/lib-imap-storage/imap-msgpart-url.c /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-imap-urlauth/imap-urlauth-connection.c /dovecot/src/lib-imap-urlauth/imap-urlauth-fetch.c /dovecot/src/lib-imap-urlauth/imap-urlauth-fetch.h /dovecot/src/lib-imap-urlauth/imap-urlauth-private.h /dovecot/src/lib-imap/imap-arg.h /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-url.c /dovecot/src/lib-imap/imap-url.h /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log-view-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-lda/duplicate.c /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-mail/istream-binary-converter.c /dovecot/src/lib-mail/istream-dot.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/message-decoder.c /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-parser.c /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-search.c /dovecot/src/lib-master/ipc-server.c /dovecot/src/lib-master/master-instance.c /dovecot/src/lib-master/master-login-auth.c /dovecot/src/lib-master/master-login.c /dovecot/src/lib-master/master-login.h /dovecot/src/lib-master/master-service-private.h /dovecot/src/lib-master/master-service-settings-cache.c /dovecot/src/lib-master/master-service-settings.h /dovecot/src/lib-master/master-service.h /dovecot/src/lib-master/service-settings.h /dovecot/src/lib-sql/driver-cassandra.c /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlite.c /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-ssl-iostream/iostream-openssl.h index/cydir/cydir-save.c index/dbox-common/dbox-file.h index/dbox-common/dbox-save.h index/dbox-multi/mdbox-map-private.h index/dbox-multi/mdbox-map.c index/dbox-multi/mdbox-storage-rebuild.c index/dbox-multi/mdbox-storage.h index/imapc/imapc-list.h index/imapc/imapc-save.c index/imapc/imapc-storage.h index/imapc/imapc-sync.h index/index-mail.h index/index-rebuild.h index/index-search-private.h index/index-search.c index/index-sort-string.c index/index-thread-finish.c index/index-thread-private.h index/index-thread.c index/istream-mail.c index/maildir/maildir-copy.c index/maildir/maildir-keywords.c index/maildir/maildir-save.c index/maildir/maildir-storage.h index/maildir/maildir-sync.c index/maildir/maildir-uidlist.c index/mbox/istream-raw-mbox.c index/mbox/mbox-save.c index/mbox/mbox-storage.h index/mbox/mbox-sync-private.h index/pop3c/pop3c-client.c index/pop3c/pop3c-storage.h index/raw/raw-storage.h list/mailbox-list-fs-iter.c list/mailbox-list-index-notify.c list/mailbox-list-index-sync.h list/mailbox-list-index.h list/mailbox-list-iter.c list/mailbox-list-none.c mail-namespace.h mail-search-register.c mail-search.h mail-storage-private.h mail-storage-service.c mail-storage-service.h mail-storage.h mail-user.h mailbox-list-private.h mailbox-search-result-private.h mailbox-tree.c /dovecot/src/lib/buffer.c /dovecot/src/lib/connection.h /dovecot/src/lib/file-dotlock.c /dovecot/src/lib/file-dotlock.h /dovecot/src/lib/ioloop-private.h /dovecot/src/lib/istream-crlf.c /dovecot/src/lib/istream-file-private.h /dovecot/src/lib/istream-jsonstr.c /dovecot/src/lib/istream-mmap.c /dovecot/src/lib/istream-private.h /dovecot/src/lib/istream-tee.c /dovecot/src/lib/istream.h /dovecot/src/lib/mempool.h /dovecot/src/lib/module-dir.h /dovecot/src/lib/ostream-file-private.h /dovecot/src/lib/ostream-private.h /dovecot/src/lib/ostream.h /dovecot/src/lmtp/client.h /dovecot/src/lmtp/lmtp-proxy.c /dovecot/src/log/log-connection.c /dovecot/src/login-common/client-common.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/service-process.h /dovecot/src/master/service.h /dovecot/src/plugins/acl/acl-api-private.h /dovecot/src/plugins/acl/acl-api.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-lookup-dict.c /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-squat/squat-trie-private.h /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-indexer.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/fts/fts-storage.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/pop3-migration/pop3-migration-plugin.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/pop3/pop3-client.h /dovecot/src/replication/replicator/dsync-client.c /dovecot/src/replication/replicator/notify-connection.c /dovecot/src/replication/replicator/replicator-brain.c /dovecot/src/replication/replicator/replicator-queue.h
aa41b2e17912d6cad3151babea6a85dd88539d28 03-Jun-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

virtual: Moved virtual_mailbox_vfuncs to lib-storage. This allows implementing other virtual storage backends.

291ce16fffca75e8598a8c9dceb08613413dcb07 19-Apr-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Added MAIL_STORAGE_CLASS_FLAG_NO_LIST_DELETES and MAILBOX_LIST_FLAG_NO_DELETES

6de6ec228a41275ddda972d4a554699ea75cd06d 28-Feb-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-storage: Added mail_set_cache_corrupted_reason()

19e161dd9e2c3a2ffc96ee8852bec0720cb30d1c 28-Dec-2015 Timo Sirainen <timo.sirainen@dovecot.fi>

dsync: Don't restrict what mailbox names can be created (except basic sanity checks) The mailbox names already exist on the other side, so we don't want to add arbitrary limits to them.

4e3bcf7fdaeef92dd07a2acb1ded58422a907e87 27-Nov-2015 Timo Sirainen <tss@iki.fi>

lib-storage: Don't add first_saved to mailbox list index unless autoexpunge is set.

1ae5d61ec366fdb2f3c5b150ca378d6141b0f4bd 27-Nov-2015 Timo Sirainen <tss@iki.fi>

Added mailbox { autoexpunge } setting. This can be used to automatically expunge mails from specified mailboxes after they're old enough. The expunges are done when the user is being deinitialized. mailbox_list_index=yes should be enabled to have the best performance with this setting. Example: namespace inbox { mailbox Spam { auto = create special_use = \Junk autoexpunge = 30d } }

ab5269901fa285cf66bc55dd068979d4fdbb4c23 07-Sep-2015 Timo Sirainen <tss@iki.fi>

lib-storage: Allow set/get for Dovecot-private attributes via internal attributes. This allows registering attributes with MAILBOX_ATTRIBUTE_PREFIX_DOVECOT_PVT prefix and having them be get/set via dict, instead of failing them.

7e2671b295927b461adc8b6c4ed6a1c4761fb323 19-Aug-2015 Timo Sirainen <tss@iki.fi>

lib-storage: Moved index/index-mailbox-check.c code to mailbox-watch.c This changes the API, but adds backwards compatibility macros.

817d027593510c3ba70ad542ce0011f5f6916d1e 18-Aug-2015 Timo Sirainen <tss@iki.fi>

lib-storage: Moved most of the \Recent flag handling code to mailbox-recent-flags.c There are also some API changes, because functions were renamed and the recent_* fields were moved to struct mailbox. I'm not aware of any plugins using these though, except for index_mailbox_set_recent_seq() which for now is kept as a backwards compatibility macro. No changes were made to the actual code logic.

382f23541ce657be87b079abd6784d376fb4eb43 10-Jul-2015 Timo Sirainen <tss@iki.fi>

lib-storage: Moved vsize_hdr_ext_id to struct mailbox for more global access.

2c70086138fe7ac9abf52cd4223c224fe0bbb488 10-Jul-2015 Timo Sirainen <tss@iki.fi>

lib-storage: Renamed struct index_vsize_header to struct mailbox_index_vsize Also moved the struct to mail-storage-private.h for more global access.

146f9076cd456ea1e9b3f8536456d9d3c962fadb 04-May-2015 Stephan Bosch <stephan@rename-it.nl>

mail-storage: Moved mailbox attributes API to separate module.

546335814920fb6b5b44c68c7803e654eefeae9d 25-Sep-2014 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox_get_index_path() and caching of the index path. This solves some potential assert-crashes on race conditions when opening a mailbox while it's being deleted.

f90cbe597c41d5cc91debd371f8648bd8e6ffbc2 28-Aug-2014 Timo Sirainen <tss@iki.fi>

lib-index, lib-storage: Fixed race conditions with deleting mailbox. Now only one process can successfully finish mailbox_mark_index_deleted().

97ae33602db7d5bc8eede82512a965d49ab8853b 12-Aug-2014 Timo Sirainen <tss@iki.fi>

lib-storage: Added mail_storage_last_error_push/pop()

1a5573ebc32fae2fe576ec544e1781323c1db609 03-Jul-2014 Timo Sirainen <tss@iki.fi>

lib-storage: Move "shared" storage name to mail-storage-private.h where it can be used.

9456a4a3e74929f9d3d5b00b93be6d8eb69bc52a 30-Apr-2014 Timo Sirainen <tss@iki.fi>

lib-storage: mail_never_cache_fields=* means now to disable all caching.

ceac44e7560fcbf6fc2f932c7b624a5055dc3bc9 30-Apr-2014 Timo Sirainen <tss@iki.fi>

lib-storage: Partially reverted the mail.get_real_mail() API change for backwards compatibility. I hadn't realized Pigeonhole was also using it. (I thought it was using only the mail_get_real_mail() public API.) This fixes Pigeonhole v0.4.2 to work again.

ba8ff75a149d6936f769a2d1dfceaab9da87863b 29-Apr-2014 Timo Sirainen <tss@iki.fi>

lib-storage: Fixed crash if mailbox_save_cancel() was called in save_finish()/copy() method.

541b251a99a55cb0fa2eaf02645a7c39ad997092 15-Apr-2014 Timo Sirainen <tss@iki.fi>

lib-storage: Replaced mail_get_real_mail() with mail_get_backend_mail() that can fail. For now the mail_get_real_mail() can still be used for backwards compatibility.

d1e843e77f4760e303c53d9fce10123fc8d230a1 17-Nov-2013 Timo Sirainen <tss@iki.fi>

dsync: Support syncing storages with 128bit GUIDs <-> string GUIDs.

d46a1e3f999dda802dc5137e883adcd7a6629cd3 12-Jun-2013 Timo Sirainen <tss@iki.fi>

lib-storage: Added MAIL_STORAGE_CLASS_FLAG_BINARY_DATA flag for classes.

58ba0fe5a6904d3a65cfe268411f4cbb881234ee 01-Jun-2013 Timo Sirainen <tss@iki.fi>

imapc: Fixed mailbox deletion.

9847ec56efa15fa063eea9988eee2d4ed9ec7d58 19-May-2013 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox_status.have_save_guids.

e563b8a1457be8c08cc7567043c9f06b8243a025 19-Mar-2013 Timo Sirainen <tss@iki.fi>

lib-storage: Added a way to create plugins that forcibly hook into mail storage. Mostly meant for doveadm_sieve plugin.

6cc4cce2078aca138fbce19305e69e77edcee614 19-Mar-2013 Timo Sirainen <tss@iki.fi>

lib-storage: mailbox_attribute_set() now uses struct mail_attribute_value. This allows settig the last_change value, as well as using streams and setting other flags in future.

50c617761ee9653bd44646a95178773a3686d62e 14-Mar-2013 Timo Sirainen <tss@iki.fi>

lib-storage: Changed mailbox_attribute_get/set() APIs to have a transaction and update index. The _get() doesn't currently actually use the transaction. It was mainly put there for future use where it could be useful. It's also possible that _iter() will need a transaction also. For now these decisions seem good enough.

e2d268e9531227ead6a98466ecf3c046c857ef70 19-Feb-2013 Timo Sirainen <tss@iki.fi>

lib-storage: Saving/copying no longer discards private message flags.

b09eaeb9a81e5b58c6e605eb762573a2b4a69e0e 16-Feb-2013 Timo Sirainen <tss@iki.fi>

lib-storage: Assert-crash if mailbox_save_context isn't properly freed before reusing.

8b31f966d9688e07672ef1958dcbdb7686523c04 10-Feb-2013 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox_status.have_guids flag

9c32eb25e7b90e753e0cd7b30f7a70e8ca9121d9 05-Feb-2013 Timo Sirainen <tss@iki.fi>

lib-storage: Changed mailbox_attribute_get() to return a struct for value. This allows returning flags for the values in future. Mainly readonly-flag for internal attributes and when restricted by ACL plugin.

13e130c3af3032982de6b1d13c6dcddda9164848 04-Jan-2013 Timo Sirainen <tss@iki.fi>

lib-storage: Bypass virtual storage when copying mail to allow optimizations. As a side effect this also causes all plugins to see the backend mail instead of the virtual mail. This probably isn't bad in most situations, but for those where it's unwanted mail_private.vmail can be used to access the virtual mail. mail_log plugin does this to log the original virtual mailbox name for copy operations.

f46885a5b78b15a8d2419f6e5d13b643bd85e41f 04-Jan-2013 Timo Sirainen <tss@iki.fi>

lib-storage: Added support for "private modseqs" for INDEXPVT index. Used by dsync (next commit).

d9a129b491613014ce5f31fe1ab20903e2899ea4 26-Nov-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Comment update for mail_prefetch()

1f1ee8db68d9ae1604350801cd8dc33ebe29fe8a 29-Oct-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Renamed mail_storage_set_index_error() to mailbox_set_index_error()

8c909e451d14075c05d90382cf8eebc4e354f569 29-Oct-2012 Timo Sirainen <tss@iki.fi>

Replaced *_INDEX_PREFIX macros with a common MAIL_INDEX_PREFIX.

9fd2181788a61500641c66aec0f8c746b19bf830 29-Oct-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Fixes to handling separation of private/shared attributes.

c6afd726060aae56b6622c6c52aec10231c4bf1c 29-Oct-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Moved mail attribute dict to struct mail_storage. This also means that index_storage_destroy() must always be called, so removed now unnecessary mail_storage.destroy=NULL checks.

e53ab6c7081246c865917f9aa0eff031a08ad1e7 23-Oct-2012 Timo Sirainen <tss@iki.fi>

imap: URLFETCH BINARY BODYPARTSTRUCTURE returns binary-decoded line counts.

62041dfb7d6ac6e9c633a557075999cdfcff7bd5 13-Oct-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Added support to get/set/iterate mailbox attributes. The attributes are stored in a dict specified by mail_attribute_dict setting. The idea is to use this as storage for extensions that require per-mailbox key=value pairs, such as METADATA.

d74c9540cd64888055c4840a4544b1de4248e584 18-Sep-2012 Timo Sirainen <tss@iki.fi>

Backported parts of normalizer_func_t changes from v2.2 tree.

9fc97c8aa8190df87624d214bcc5d0b5362bec93 26-Sep-2012 Timo Sirainen <tss@iki.fi>

lib-storage: mailbox_get_path() and friends can now return an error. An upcoming "index" mailbox_list backend uses mailbox GUIDs as the directory names. Doing a name => GUID lookup may fail, so the path lookup may fail. This is a somewhat annoying change and perhaps it can be removed in future, but for now it looks like it can't be avoided.

/dovecot/src/doveadm/dsync/doveadm-dsync.c /dovecot/src/indexer/master-connection.c index/dbox-common/dbox-storage.c index/dbox-multi/mdbox-map.c index/dbox-multi/mdbox-storage.c index/dbox-single/sdbox-file.c index/dbox-single/sdbox-storage.c index/dbox-single/sdbox-sync-rebuild.c index/imapc/imapc-list.c index/index-rebuild.c index/index-storage.c index/index-sync-pvt.c index/index-sync.c index/maildir/maildir-keywords.c index/maildir/maildir-storage.c index/maildir/maildir-uidlist.c index/maildir/maildir-util.c index/mbox/mbox-lock.c index/mbox/mbox-storage.c index/mbox/mbox-sync.c index/shared/shared-list.c index/shared/shared-storage.c list/mailbox-list-delete.c list/mailbox-list-fs-flags.c list/mailbox-list-fs-iter.c list/mailbox-list-fs.c list/mailbox-list-index.c list/mailbox-list-maildir.c list/mailbox-list-none.c mail-storage-private.h mail-storage.c mailbox-list-private.h mailbox-list.c mailbox-list.h /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/acl/doveadm-acl.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/mailbox-alias/mailbox-alias-plugin.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota.c
94f84d1c3f786d1b92dd2a1507f83a2dad887c56 26-Sep-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Cleanups to mailbox mkdir() related functions.

feaa6a3d82ea61496ced1f83a726ff33047c7da2 25-Sep-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox_get_path_to() wrapper for mailbox_list_get_path(). Changed the code to use as much of mailbox_get_path_to() and mailbox_get_path() as possible.

268b72128fc3400912e9a6b83faf4950a367c2ff 25-Sep-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Added mail_storage_copy_error()

5f44975ec6c5755dd74bcd4c47a123a7242ecab3 15-Sep-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Moved index_mail.data_pool to mail_private.data_pool

d9076f5939edf5d20a261494b1a861dcbb0d32e2 15-Sep-2012 Timo Sirainen <tss@iki.fi>

Replaced "decomposed titlecase" conversions with more generic normalizer function. Plugins can now change mail_user.default_normalizer. Specific searches can also use different normalizers by changing mail_search_context.normalizer.

/dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/lib-charset/charset-iconv.c /dovecot/src/lib-charset/charset-utf8.c /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-mail/message-decoder.c /dovecot/src/lib-mail/message-decoder.h /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-search.c /dovecot/src/lib-mail/message-search.h /dovecot/src/lib-mail/test-message-decoder.c /dovecot/src/lib-mail/test-message-header-decode.c index/index-search.c mail-storage-private.h mail-user.c mail-user.h /dovecot/src/lib/unichar.h /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-api.c /dovecot/src/plugins/fts/fts-build-mail.c
f318b3dbe2acc177b8ee1c160e4b5b14e7f2cd41 13-Sep-2012 Timo Sirainen <tss@iki.fi>

lib-storage API change to allow using it from C++ code

7a2d48763b43c4fd8bc17c444271f0b802113a5f 13-Sep-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Moved mail_storage_settings_to_index_flags to mail-storage-private.h This is mainly to allow #including mail-storage-settings.h from C++ code without having to #include mail-index.h from mail-storage-settings.h

71e88fae3be360e9a93b3398e743f99a6f05d2ed 10-Sep-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Removed rename_children parameter from mailbox_rename() The children are now always renamed. The only reason this feature was added in the first place was to make dsync's job easier, but this is no longer needed.

/dovecot/src/doveadm/doveadm-mail-mailbox.c /dovecot/src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c /dovecot/src/imap/cmd-rename.c fail-mailbox.c index/imapc/imapc-list.c index/index-storage.c index/index-storage.h index/shared/shared-list.c list/mailbox-list-fs.c list/mailbox-list-index.c list/mailbox-list-maildir.c list/mailbox-list-none.c mail-storage-private.h mail-storage.c mail-storage.h mailbox-list-private.h /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/mail-log/mail-log-plugin.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/replication/replication-plugin.c
99695d99930b35c2bac85d52e976b44cf8485d83 23-Aug-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Moved per-mail data in struct mail_save_context to separate struct. This fixes previous save leaking metadata to the next save.

4ee00532a265bdfb38539d811fcd12d51210ac35 19-Aug-2012 Timo Sirainen <tss@iki.fi>

Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name Easy way to update your existing code: perl -i -pe 's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch]

/dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-settings.c /dovecot/src/auth/auth-settings.h /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/auth.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/main.c /dovecot/src/auth/passdb-template.c /dovecot/src/auth/passdb.c /dovecot/src/auth/userdb-template.c /dovecot/src/auth/userdb.c /dovecot/src/config/config-parser-private.h /dovecot/src/config/config-parser.c /dovecot/src/dict/dict-connection.h /dovecot/src/dict/dict-settings.h /dovecot/src/director/director-test.c /dovecot/src/director/director.h /dovecot/src/director/mail-host.c /dovecot/src/director/main.c /dovecot/src/director/user-directory.c /dovecot/src/doveadm/doveadm-dump.c /dovecot/src/doveadm/doveadm-kick.c /dovecot/src/doveadm/doveadm-mail-altmove.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail.h /dovecot/src/doveadm/doveadm-print-flow.c /dovecot/src/doveadm/doveadm-print-pager.c /dovecot/src/doveadm/doveadm-print-table.c /dovecot/src/doveadm/doveadm-print.c /dovecot/src/doveadm/doveadm-server.h /dovecot/src/doveadm/doveadm-settings.h /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/doveadm-who.c /dovecot/src/doveadm/doveadm.c /dovecot/src/doveadm/dsync/dsync-mailbox-export.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-mailbox-tree-private.h /dovecot/src/doveadm/dsync/dsync-mailbox-tree-sync.c /dovecot/src/doveadm/dsync/dsync-slave-pipe.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/imap-client.h /dovecot/src/imap/imap-commands-util.c /dovecot/src/imap/imap-commands.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-notify.h /dovecot/src/imap/imap-search.h /dovecot/src/indexer/worker-connection.c /dovecot/src/ipc/ipc-connection.h /dovecot/src/ipc/ipc-group.c /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-dict/dict-memcached-ascii.c /dovecot/src/lib-dict/dict-redis.c /dovecot/src/lib-dict/dict-sql-settings.c /dovecot/src/lib-dict/dict-sql-settings.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-dict/dict-transaction-memory.h /dovecot/src/lib-dict/dict.c /dovecot/src/lib-imap-client/imapc-client-private.h /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-modseq.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-export.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-transaction-log-view-private.h /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-lda/mail-deliver.h /dovecot/src/lib-mail/istream-attachment-connector.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/rfc2231-parser.c /dovecot/src/lib-mail/test-istream-attachment.c /dovecot/src/lib-master/anvil-client.c /dovecot/src/lib-master/ipc-client.c /dovecot/src/lib-master/master-instance.c /dovecot/src/lib-master/master-service-settings.c /dovecot/src/lib-master/mountpoint-list.c /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlpool.c /dovecot/src/lib-sql/sql-api-private.h index/dbox-common/dbox-file.h index/dbox-multi/mdbox-map-private.h index/dbox-multi/mdbox-save.c index/dbox-multi/mdbox-storage-rebuild.c index/dbox-multi/mdbox-storage.h index/dbox-single/sdbox-save.c index/imapc/imapc-storage.h index/index-mail-binary.c index/index-mail-headers.c index/index-mail.h index/index-search-private.h index/index-storage.c index/index-sync-changes.c index/index-thread-finish.c index/maildir/maildir-keywords.c index/maildir/maildir-save.c index/mbox/mbox-sync-private.h list/mailbox-list-fs-iter.c list/mailbox-list-index-notify.c list/mailbox-list-maildir.c mail-search-register-human.c mail-search-register.c mail-storage-hooks.c mail-storage-private.h mail-storage-settings.h mail-user.h mailbox-keywords.c mailbox-list-iter.c mailbox-list-private.h mailbox-list.c mailbox-tree.c /dovecot/src/lib/array-decl.h /dovecot/src/lib/array.h /dovecot/src/lib/ioloop-epoll.c /dovecot/src/lib/ioloop-kqueue.c /dovecot/src/lib/ioloop-private.h /dovecot/src/lib/lib.h /dovecot/src/lib/module-context.h /dovecot/src/lib/priorityq.c /dovecot/src/lib/test-aqueue.c /dovecot/src/lib/test-array.c /dovecot/src/lib/var-expand.c /dovecot/src/lmtp/client.h /dovecot/src/lmtp/lmtp-proxy.c /dovecot/src/log/log-connection.c /dovecot/src/master/service-listen.c /dovecot/src/master/service-process-notify.c /dovecot/src/master/service.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-cache.c /dovecot/src/plugins/expire/doveadm-expire.c /dovecot/src/plugins/expire/expire-set.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-lucene/lucene-wrapper.cc /dovecot/src/plugins/fts-solr/fts-backend-solr-old.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/fts/fts-api.c /dovecot/src/plugins/fts/fts-parser-script.c /dovecot/src/plugins/fts/fts-storage.h /dovecot/src/plugins/pop3-migration/pop3-migration-plugin.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-search.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/plugins/virtual/virtual-transaction.h /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-client.h /dovecot/src/replication/replicator/replicator-brain.c /dovecot/src/replication/replicator/replicator-queue.c /dovecot/src/ssl-params/main.c
306b3f41b05da642d87e7ca7a1496efce9f5902f 11-Aug-2012 Timo Sirainen <tss@iki.fi>

IMAP BINARY extension supports now FETCH BINARY command.

e34d170f8f0e084bd94bfbc1a7085ece67e508df 25-Jun-2012 Timo Sirainen <tss@iki.fi>

Make sure we check all the functions' return values. Minor API changes to simplify this. Checked using a patched clang that adds attribute(warn_unused_result) to all functions. This commit fixes several error handling mistakes.

/dovecot/src/anvil/main.c /dovecot/src/auth/auth-request.c /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/mech-scram-sha1.c /dovecot/src/auth/passdb-blocking.c /dovecot/src/auth/password-scheme-otp.c /dovecot/src/auth/userdb-blocking.c /dovecot/src/auth/userdb-sql.c /dovecot/src/config/doveconf.c /dovecot/src/config/main.c /dovecot/src/config/old-set-parser.c /dovecot/src/dict/dict-commands.c /dovecot/src/dict/main.c /dovecot/src/director/director-connection.c /dovecot/src/director/director-host.c /dovecot/src/director/director.c /dovecot/src/director/doveadm-connection.c /dovecot/src/director/mail-host.c /dovecot/src/director/main.c /dovecot/src/director/test-user-directory.c /dovecot/src/doveadm/doveadm-dump-dbox.c /dovecot/src/doveadm/doveadm-mail-server.c /dovecot/src/doveadm/doveadm-mailbox-list-iter.c /dovecot/src/doveadm/doveadm-mount.c /dovecot/src/doveadm/doveadm-penalty.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/dsync/doveadm-dsync.c /dovecot/src/doveadm/dsync/dsync-brain-mailbox-tree.c /dovecot/src/doveadm/dsync/dsync-brain-mailbox.c /dovecot/src/doveadm/dsync/dsync-brain-mails.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-mailbox-tree.c /dovecot/src/doveadm/dsync/dsync-slave.c /dovecot/src/doveadm/dsync/dsync-slave.h /dovecot/src/doveadm/server-connection.c /dovecot/src/doveadm/server-connection.h /dovecot/src/imap-login/client.c /dovecot/src/imap/cmd-fetch.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/imap-client.c /dovecot/src/imap/imap-client.h /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-sync.c /dovecot/src/imap/main.c /dovecot/src/indexer/master-connection.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-quote.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-map-hdr.c /dovecot/src/lib-index/mail-index-modseq.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-sort-appends.c /dovecot/src/lib-index/mail-index-transaction-update.c /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-write.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-transaction-log-file.c /dovecot/src/lib-index/test-mail-index-transaction-update.c /dovecot/src/lib-index/test-mail-transaction-log-append.c /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-part-serialize.c /dovecot/src/lib-mail/rfc822-parser.c /dovecot/src/lib-mail/test-istream-dot.c /dovecot/src/lib-ntlm/ntlm-des.c /dovecot/src/lib-ntlm/ntlm-des.h /dovecot/src/lib-ntlm/ntlm-encrypt.c /dovecot/src/lib-ntlm/ntlm-encrypt.h /dovecot/src/lib-otp/otp-hash.c /dovecot/src/lib-otp/otp-hash.h index/dbox-common/dbox-file-fix.c index/dbox-common/dbox-file.c index/dbox-common/dbox-sync-rebuild.c index/dbox-multi/mdbox-purge.c index/dbox-single/sdbox-copy.c index/imapc/imapc-mail.c index/imapc/imapc-storage.c index/index-mail.c index/index-search.c index/index-sort-string.c index/index-sort.c index/index-status.c index/index-storage.h index/index-sync-changes.c index/index-sync.c index/index-thread.c index/maildir/maildir-uidlist.c index/mbox/istream-raw-mbox.c index/mbox/mbox-mail.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-sync.c index/pop3c/pop3c-client.c index/raw/raw-mail.c mail-search-build.c mail-storage-private.h mail.c mailbox-get.c mailbox-uidvalidity.c /dovecot/src/lib/data-stack.c /dovecot/src/lib/hash.c /dovecot/src/lib/hostpid.c /dovecot/src/lib/iostream-rawlog.c /dovecot/src/lib/md4.c /dovecot/src/lib/md5.c /dovecot/src/lib/mountpoint.c /dovecot/src/lib/nfs-workarounds.c /dovecot/src/lib/nfs-workarounds.h /dovecot/src/lib/seq-range-array.c /dovecot/src/lib/seq-range-array.h /dovecot/src/lib/test-base64.c /dovecot/src/lib/test-network.c /dovecot/src/lib/test-ostream-file.c /dovecot/src/lib/test-seq-range-array.c /dovecot/src/log/log-connection.c /dovecot/src/log/log-connection.h /dovecot/src/login-common/client-common-auth.c /dovecot/src/login-common/login-proxy-state.c /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/main.c /dovecot/src/master/service-anvil.c /dovecot/src/master/service-process.c /dovecot/src/master/service-process.h /dovecot/src/plugins/autocreate/autocreate-plugin.c /dovecot/src/plugins/expire/doveadm-expire.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/imap-zlib/imap-zlib-plugin.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/stats/stats-connection.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/plugins/zlib/doveadm-zlib.c /dovecot/src/plugins/zlib/ostream-zlib.c /dovecot/src/pop3/main.c /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-client.h /dovecot/src/pop3/pop3-commands.c /dovecot/src/replication/aggregator/notify-connection.c /dovecot/src/replication/replicator/notify-connection.c /dovecot/src/stats/main.c /dovecot/src/util/rawlog.c
0177594fa5217b02001f4ec8752154fd2b05c545 21-Jun-2012 Timo Sirainen <tss@iki.fi>

lib-imap-storage: imap-msgpart rewrite and API change. The new API allows first parsing the validity of section strings and later relying on them being valid without having to re-parse it. The implementation also fixes a few things and adds "partial fetch cache".

02f884382018f4435407374a059407caa44c9239 20-Jun-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox_move(), which is basically copy+expunge.

5da1aa5197a43d83f0fb3eeb83125c7cd73d1b62 11-Jun-2012 Timo Sirainen <tss@iki.fi>

shared mailboxes: Per-user flags can now be stored in private index files. This can be enabled by adding e.g.: mail_location = mdbox:/var/shared/mdbox:INDEXPVT=~/mdbox/shared

/dovecot/src/doveadm/doveadm-dump-log.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-transaction-export.c /dovecot/src/lib-index/mail-index-transaction-finish.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-update.c /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/test-mail-index-transaction-finish.c /dovecot/src/lib-index/test-mail-index-transaction-update.c index/Makefile.am index/index-mail.c index/index-storage.c index/index-storage.h index/index-sync-private.h index/index-sync-pvt.c index/index-sync.c index/index-transaction.c index/shared/shared-list.c list/mailbox-list-fs.c list/mailbox-list-maildir.c mail-storage-private.h mail-storage.c mailbox-list-private.h mailbox-list.c mailbox-list.h
d81131d3bbb4f0befb62a661d1785cf8c84a17e2 09-May-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Added a mailbox.synced flag, which is set when mailbox sync has succeeded.

d938e9e4ec4c0f326dffd5ebe42c1ad893ce7e52 28-Apr-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Allocate MAILBOX_METADATA_CACHE_FIELDS from a new metadata mempool.

33b469d1ca66dd2cc496d2d990b8b98e72952a29 19-Apr-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox_delete_empty().

9617ac7078a17bd346fed69526861c3e7fd9d809 30-Mar-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox_save_set_pop3_order() and implemented for Maildir.

6ae329de09afb7214c906d762320847e05469d53 22-Mar-2012 Timo Sirainen <tss@iki.fi>

quota: Added a kludge to avoid recalculating quota.

900bb5e316d030cdebff7ee128ce65881dfb27f7 02-Mar-2012 Timo Sirainen <tss@iki.fi>

lib-storage: mail_transaction_commit_changes.changed=TRUE only when something actually changed.

9438ecaf1caee1bb33c8d7f638742875ac42c4e5 26-Feb-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Removed min_timeout parameter from mailbox_notify_changes() It's now internally taken from mailbox_idle_check_interval setting.

00aaafa8619b4e6aaf23f15d30c36f06ccb820bc 06-Jan-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox_save_using_mail()

abec3f4c5ec486c393e1513950f2d4819dcbc30f 06-Jan-2012 Timo Sirainen <tss@iki.fi>

lib-storage: Renamed mail_save_context.copying to copying_via_save.

6469cf211a57433335641725dc236ebb2b9fdd3b 30-Dec-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Added struct mailbox.set_subscribed() virtual method.

eb1572d7c44ebc7b0b039d085c3dbab2ef7043dd 02-Dec-2011 Timo Sirainen <tss@iki.fi>

Moved autocreate plugin functionality into lib-storage. The autocreate plugin is still used for backwards compatibility. Mailboxes can be configured like: mailbox Sent { auto = subscribe } mailbox Spam { auto = create }

eecb235c14b49c01774134ea593c266f2d2c2be1 23-Nov-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Track storage's all mailboxes to make it easier to debug if one isn't closed.

ecd69c4e8371853667e01b0c16d436ef7f7393e2 12-Oct-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Added mail_log_update_wanted_fields()

6df0ab0c1ab91f06b6418cb30eff44405a1b8f02 04-Oct-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Added mail_get_hdr_stream() and use it where possible. This makes it clearer for backends when it needs a message body instead of only message header.

93ec3b0c4b911e2cc79a99f4a300e488d2d694d3 02-Oct-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Mailbox list index's ext_id shouldn't be cached in mail_storage. It's mailbox_list-specific, not mail_storage-specific. The easiest fix was to just cache it into mailbox rather than create a new index_mailbox_list.

b3484b5b1f47e4cf112f0e371478a2d7794b31bb 05-Sep-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox.disallow_new_keywords and use it for mailbox_status.

421d30619384e72a27e2a5d13ff6525aff4d17fe 31-Aug-2011 Timo Sirainen <tss@iki.fi>

Redesigned mail precaching APIs. There's no longer a one monolithic mailbox_sync(MAILBOX_SYNC_FLAG_PRECACHE) call, but rather one mail_precache() call for each mail to be precached. This allows the callers to show the progress and in general is cleaner.

/dovecot/src/doveadm/doveadm-mail-index.c /dovecot/src/indexer/master-connection.c index/cydir/cydir-mail.c index/dbox-multi/mdbox-mail.c index/dbox-single/sdbox-mail.c index/imapc/imapc-mail.c index/index-mail.c index/index-mail.h index/index-status.c index/index-sync.c index/maildir/maildir-mail.c index/mbox/mbox-mail.c index/raw/raw-mail.c mail-storage-private.h mail-storage.h mail.c test-mail.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts/Makefile.am /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-build-mail.c /dovecot/src/plugins/fts/fts-build-mail.h /dovecot/src/plugins/fts/fts-build-mailbox.c /dovecot/src/plugins/fts/fts-build-private.h /dovecot/src/plugins/fts/fts-build-virtual.c /dovecot/src/plugins/fts/fts-build.h /dovecot/src/plugins/fts/fts-indexer.c /dovecot/src/plugins/fts/fts-indexer.h /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/fts/fts-storage.h /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-storage.c
2d01cc1880cf2afd4fb1c8ad7fa6ce78e562e71e 25-Aug-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Moved all transaction stats_* to struct mailbox_transaction_stats.

1eaaa2c9003cf3fbf672d597473e3f84e70d2ee6 16-Aug-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Moved stats_* from mail to transaction. With the API changes to search, having them in mail doesn't make sense anymore, since mailbox_search_next() can return multiple different mails with different stats.

47d5cc09738defd0020c797866e2a25a344aa65a 15-Aug-2011 Timo Sirainen <tss@iki.fi>

lib-storage: mailbox_list_get_permissions() now returns struct mailbox_permissions. Also added new file_uid and file_gid fields to the mailbox_permissions.

bd4e36a8cd7257cca7d1434c49a1e343ed7c5100 11-Aug-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox_alloc_guid() for opening mailbox by its GUID.

fcfe85637e1ee14a9fc39c41fd6ceca106301542 11-Aug-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Added struct mailbox.generation_sequence. This can be used for caching struct mailbox pointers and checking later if two struct mailboxes + their generation sequences match. If they do, it's the same struct mailbox.

cff1f182205e674285cf3ff446a0dcf7afea277d 29-Jul-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Added auto_boxes parameter to mailbox_exists().

7631f16156aca373004953fe6b01a7f343fb47e0 28-Jul-2011 Timo Sirainen <tss@iki.fi>

lib-storage: mail->saving was set too late, which could have caused crashes.

64b61cd24d630223478ccbe1934b9f60f0881f59 14-Jun-2011 Timo Sirainen <tss@iki.fi>

Moved the main functionality from "doveadm index" to MAILBOX_SYNC_FLAG_PRECACHE This also allows plugins to hook into the sync and implement their own precaching easily. fts indexing is now done this way rather than kludging.

b59960aed0923004f21f2a00bc1c945084d2f851 23-May-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Export a list of permanent flags via mailbox_status(). Removed mailbox_allow_new_keywords(), since it's now included in the status structure. ACL plugin may limit what flags are permanent according to ACLs.

c7e14824e4e1ca9dc5d48d1eddc4a38d3041218f 05-May-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Added mail_parse().

7370fb9ff75b674f99059adf24502ee9ae7a47bc 05-May-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Added mail_is_cached()

045aa2f81225ceffbffe71a088dabb8881c65512 04-Apr-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Removed struct mail_private.extra_* fields. There isn't much point in keeping them separated.

e15b305e90c9834734ccf35ed78f0ad29d570ee9 31-Mar-2011 Timo Sirainen <tss@iki.fi>

Search supports now prefetching data for returned mails. Dropped imapc's own prefetching. mail_prefetch_count specifies how many mails can be kept open and issue a prefetch. This works using posix_fadvise(POSIX_FADV_WILLNEED) for maildir, sdbox and cydir backends. Apparently only Linux supports this. imapc backend also implements this internally by sending wanted IMAP commands to remote server. The command pipelining helps with latency. This change also makes it actually possible for imapc backend to first check if wanted data is already cached in local index and avoid sending unnecessary IMAP commands to remote server.

/dovecot/configure.in /dovecot/doc/example-config/conf.d/10-mail.conf index/cydir/cydir-mail.c index/cydir/cydir-storage.c index/dbox-multi/mdbox-mail.c index/dbox-single/sdbox-mail.c index/dbox-single/sdbox-storage.c index/imapc/Makefile.am index/imapc/imapc-mail-fetch.c index/imapc/imapc-mail.c index/imapc/imapc-mail.h index/imapc/imapc-mailbox.c index/imapc/imapc-search.c index/imapc/imapc-storage.c index/imapc/imapc-storage.h index/index-mail.c index/index-mail.h index/index-search-private.h index/index-search.c index/maildir/maildir-mail.c index/maildir/maildir-storage.c index/mbox/mbox-mail.c index/raw/raw-mail.c mail-storage-private.h mail-storage-settings.c mail-storage-settings.h mail.c test-mail.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-search.c
eef4ba0cc3e78f8c26804c1c9251a76580a41f0c 29-Mar-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Changed mailbox_search_*() API to return pointer struct mail. This reduces the flexibility, because now different mailbox_search_next() calls can't have different mail parameters with possibly different wanted_fields settings. This flexibility was never used though, and removing it gives a couple of benefits: * it's now easier for backends to implement prefetch and parallel search * usage is easier since mail_alloc()/mail_free() is no longer needed

/dovecot/src/doveadm/doveadm-mail-altmove.c /dovecot/src/doveadm/doveadm-mail-expunge.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail-import.c /dovecot/src/doveadm/doveadm-mail-iter.c /dovecot/src/doveadm/doveadm-mail-iter.h /dovecot/src/doveadm/doveadm-mail-search.c /dovecot/src/dsync/dsync-worker-local.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-search.c /dovecot/src/imap/imap-search.h index/dbox-single/sdbox-storage.c index/imapc/imapc-search.c index/imapc/imapc-storage.h index/index-mail.c index/index-mail.h index/index-search-private.h index/index-search-result.c index/index-search.c index/index-status.c index/index-storage.h index/index-thread.c mail-storage-private.h mail-storage.c mail-storage.h test-mailbox.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/snarf/snarf-plugin.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-search.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-commands.c
4590a0c0a2606a0ad29d1e6e513ef2ba99abc926 25-Mar-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Fixed mailbox_get_expunges() to return GUIDs with all mailbox formats. Also added mailbox_get_expunged_uids() for use cases that don't really need GUIDs.

1460ef7a18c53216ddb4a94bb62fba96076aae8e 24-Mar-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Moved index_mailbox_context.save_*() methods to mailbox_vfuncs.

7baab0b0b60df7ce9093d0881cd322dff1e79491 04-Mar-2011 Timo Sirainen <tss@iki.fi>

sdbox: Fixed creating mailbox with given GUID.

1c288c40f4dce2e43daa6bc33b96f1618c94119a 04-Mar-2011 Timo Sirainen <tss@iki.fi>

sdbox: Fixed creating mailbox with given GUID.

c29216637957d4b3126c6929ac5ba98138256ce1 12-Feb-2011 Timo Sirainen <tss@iki.fi>

lib-storage: mailbox_exists() can now return if it's selectable or non-selectable.

c0d069950af1dbc6a4e5c3de3bf2e437796e3ae0 09-Feb-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Return STATUS replies from mailbox list index only when it's fully up-to-date.

dfaefeabae939803ceb8c503101e86b5496541d1 01-Feb-2011 Timo Sirainen <tss@iki.fi>

imapc: Don't force a root directory to exist.

e29f8a6a52ca72fc6010132fb86dd00e9d96432a 31-Jan-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Moved setting "wanted fields/headers" fields for sort program from imap-specific code. Also separate between fields that are actually wanted to be fetched from the fields that sorting wants to temporarily use.

c0a87e5f3316a57e6f915882fa1951d0fbb74a61 20-Jan-2011 Timo Sirainen <tss@iki.fi>

lib-storage: mailbox_alloc() now takes a virtual mailbox name and other related API changes. All storage_name <-> vname conversions now go through the same two mailbox_list methods. This has many benefits, such as: * listescape plugin is now much simpler and bugfree * allows changing lib-storage API to use UTF-8 mailbox names in future * allows creation of "mailbox aliases" plugin

/dovecot/TODO /dovecot/src/doveadm/doveadm-mail-import.c /dovecot/src/doveadm/doveadm-mail-iter.c /dovecot/src/doveadm/doveadm-mail-list-iter.c /dovecot/src/doveadm/doveadm-mail-mailbox.c /dovecot/src/doveadm/doveadm-mail.c /dovecot/src/dsync/dsync-worker-local.c /dovecot/src/imap/cmd-create.c /dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-namespace.c /dovecot/src/imap/cmd-rename.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-status.c /dovecot/src/imap/cmd-subscribe.c /dovecot/src/imap/imap-commands-util.c /dovecot/src/imap/imap-commands-util.h /dovecot/src/lib-lda/mail-deliver.c index/cydir/cydir-storage.c index/dbox-multi/mdbox-storage-rebuild.c index/dbox-multi/mdbox-storage.c index/dbox-multi/mdbox-storage.h index/dbox-single/sdbox-storage.c index/imapc/imapc-storage.c index/index-storage.c index/index-storage.h index/maildir/maildir-storage.c index/mbox/mbox-storage.c index/raw/raw-storage.c index/shared/shared-list.c index/shared/shared-storage.c list/index-mailbox-list.c list/mailbox-list-fs-iter.c list/mailbox-list-fs.c list/mailbox-list-maildir-iter.c list/mailbox-list-maildir.c list/mailbox-list-maildir.h list/mailbox-list-none.c list/mailbox-list-subscriptions.c mail-namespace.c mail-namespace.h mail-search.c mail-storage-private.h mail-storage.c mail-storage.h mailbox-list-private.h mailbox-list.c mailbox-list.h test-mail-storage.h test-mailbox.c /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/autocreate/autocreate-plugin.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/listescape/listescape-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/snarf/snarf-plugin.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-config.c /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/pop3/pop3-client.c
306cfd77100131c08b243de10f6d40500f4c27c6 20-Jan-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Replaced mailbox_list_get_name_status() with mailbox_exists().

51327f2489a4e0e615eb9f7d921473cf8512bb79 01-Jan-2011 Timo Sirainen <tss@iki.fi>

lib-storage: Moved some items from mailbox_get_status() to a new mailbox_get_metadata(). The idea is now that all status items are tracked all the time after mailbox is opened and they can always be looked up without failure. The metadata items are looked up lazily and the lookups may fail at any time. mailbox_get_status() can be used after mailbox_alloc() to indicate that the mailbox doesn't necessarily have to be opened, just that the status fields get returned. If mailbox is already known to be open, mailbox_get_open_status() can be used. It never fails.

/dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail-mailbox-status.c /dovecot/src/doveadm/doveadm-mail-search.c /dovecot/src/doveadm/doveadm-mail.c /dovecot/src/doveadm/doveadm-mail.h /dovecot/src/dsync/dsync-worker-local.c /dovecot/src/imap/cmd-enable.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/imap-client.c /dovecot/src/imap/imap-client.h /dovecot/src/imap/imap-commands-util.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-search.c /dovecot/src/imap/imap-status.c /dovecot/src/imap/imap-status.h /dovecot/src/imap/imap-sync.c index/dbox-multi/mdbox-storage.c index/dbox-single/sdbox-storage.c index/index-search.c index/index-status.c index/index-storage.c index/index-storage.h index/maildir/maildir-storage.c index/mbox/mbox-storage.c list/index-mailbox-list-sync.c mail-storage-private.h mail-storage.c mail-storage.h /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/virtual/virtual-save.c /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/pop3/pop3-client.c
d3280fe317a4598c0868cc440e7a1191c06d0db3 29-Dec-2010 Timo Sirainen <tss@iki.fi>

lib-storage: mailbox_get_status() can now fail. It might have failed earlier also, but the errors were hidden from caller.

b62140c5849297a800fee942026d9c3cb8c60206 06-Dec-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Moved mailbox.save_is_attachment() to mail_save_context.part_is_attachment()

a4f09749814b93e8ad3ec8a0dc18885b874d6f8c 06-Dec-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Unvirtualized mailbox_header_lookup_*()

dbe64f3893616a4005c8946be75d2dc8f6823d72 06-Dec-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Unvirtualized some methods from struct mailbox. There was never any point in overriding or hooking into them.

499fec3443374cc89fb8c83b8027c1614097d7a3 06-Dec-2010 Timo Sirainen <tss@iki.fi>

Moved fts/virtual plugin communication functions away from lib-storage.

4182d8cd818e76856a5a1e25b343fe5ddf69fd8e 06-Dec-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Simplified mailbox_keyword*() APIs. They are no longer struct mailbox methods, because they're always implemented as being wrappers to lib-index APIs anyway. Also mailbox_keywords_ref/unref() no longer take mailbox parameter.

c000c8eca8f24b2a0c76393ec4bbf76a505a4983 06-Dec-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Removed mailbox.backend_readonly. Backends set it internally lazily now.

8a13b020f90e080570658b18c042e7e352c8b14f 06-Dec-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Moved box->private_flags_mask to mailbox_get_private_flags_mask() This allows getting it lazily only when it's actually needed.

df00412606a00714a6e85383fa87fbdc7cc1fb5b 06-Dec-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Don't allocate index until mailbox_open()

ca98892a6b8a30ffc1fe26fcf02c7d59e3204e7e 06-Dec-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Lazily look up mailbox path and permissions. Added functions to get them.

index/cydir/cydir-storage.c index/dbox-common/dbox-storage.c index/dbox-multi/mdbox-mail.c index/dbox-multi/mdbox-save.c index/dbox-multi/mdbox-storage.c index/dbox-multi/mdbox-sync.c index/dbox-single/sdbox-file.c index/dbox-single/sdbox-save.c index/dbox-single/sdbox-storage.c index/dbox-single/sdbox-sync-rebuild.c index/dbox-single/sdbox-sync.c index/index-storage.c index/maildir/maildir-copy.c index/maildir/maildir-keywords.c index/maildir/maildir-mail.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-sync-index.c index/maildir/maildir-sync.c index/maildir/maildir-uidlist.c index/maildir/maildir-util.c index/mbox/mbox-file.c index/mbox/mbox-lock.c index/mbox/mbox-mail.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-sync.c index/raw/raw-mail.c index/raw/raw-storage.c mail-copy.c mail-storage-private.h mail-storage.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/virtual/virtual-config.c /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/plugins/zlib/zlib-plugin.c
c04f9a724a7b3cc649485a61b0a540868d25d71b 05-Dec-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Removed struct index_transaction_context. All of its contents are now in struct mailbox_transaction_context.

7f735cb86b2d8abd8f230089065eacfc24e9e5d6 23-Nov-2010 Timo Sirainen <tss@iki.fi>

lib-storage: If disable_reflink_copy_to=TRUE, disable hardlink/refcount copying.

4ba9a1d3facc515b3feb5238a16bcf91f76fac61 04-Nov-2010 Timo Sirainen <tss@iki.fi>

virtual: Set MAIL_STORAGE_CLASS_FLAG_NOQUOTA to storage's class_flags.

6564208826b0f46a00f010d1b5711d85944c3c88 20-Oct-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Added istream_opened() method to struct mail. This can be hooked into by plugins that want to do something with the message's stream in the message file, rather than the virtual resulting stream visible to client. For example when using dbox attachments, this stream contains only the data in the dbox files without any external attachments.

b9f564d00b7a115f465ffd6840341c7b8f9bfc8a 19-Oct-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Added support for saving mail attachments separately via filesystem API. Currently this works only with sdbox and mdbox backends.

/dovecot/src/config/settings-get.pl index/Makefile.am index/cydir/cydir-storage.c index/dbox-common/Makefile.am index/dbox-common/dbox-attachment.c index/dbox-common/dbox-attachment.h index/dbox-common/dbox-file.c index/dbox-common/dbox-save.c index/dbox-common/dbox-storage.c index/dbox-common/dbox-storage.h index/dbox-multi/mdbox-purge.c index/dbox-multi/mdbox-storage.c index/dbox-single/Makefile.am index/dbox-single/sdbox-copy.c index/dbox-single/sdbox-file.c index/dbox-single/sdbox-file.h index/dbox-single/sdbox-save.c index/dbox-single/sdbox-storage.c index/dbox-single/sdbox-storage.h index/dbox-single/sdbox-sync.c index/index-attachment.c index/index-attachment.h index/index-storage.c index/istream-attachment.c index/istream-attachment.h index/maildir/maildir-storage.c index/mbox/mbox-storage.c index/raw/raw-storage.c mail-storage-private.h mail-storage-settings.c mail-storage-settings.h test-mailbox.c /dovecot/src/plugins/virtual/virtual-storage.c
6b0d8106ae51ffc6ce45636b34d2e21cbefca7fd 24-Aug-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Allow mailbox_mark_index_deleted() to be called multiple times within same mailbox alloc.

eb64c3586d854cddd693f0b811d897399076a441 06-Jul-2010 Timo Sirainen <tss@iki.fi>

Fixes to INBOX sharing. NAMESPACE_FLAG_INBOX was split to two flags: _FLAG_INBOX_USER (this namespace has the user's own INBOX) and _FLAG_INBOX_ANY (namespace has INBOX, either user's own or another user's). --HG-- branch : HEAD

de9d79337eca11a7f9c1cd476c74dfe4f09a4bd7 30-Jun-2010 Timo Sirainen <tss@iki.fi>

Removed mail_update_uid() / mail_index_update_uid(). It was working properly only with mdbox and there wasn't really a need for it. --HG-- branch : HEAD

/dovecot/src/doveadm/doveadm-dump-log.c /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-transaction-export.c /dovecot/src/lib-index/mail-index-transaction-finish.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-update.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-file.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/test-mail-index-transaction-finish.c /dovecot/src/lib-index/test-mail-index-transaction-update.c index/cydir/cydir-mail.c index/dbox-multi/mdbox-mail.c index/dbox-multi/mdbox-save.c index/dbox-single/sdbox-mail.c index/index-mail.c index/index-mail.h index/index-transaction.c index/maildir/maildir-mail.c index/maildir/maildir-save.c index/maildir/maildir-storage.h index/mbox/mbox-mail.c index/raw/raw-mail.c mail-storage-private.h mail-storage.h mail.c test-mail.c /dovecot/src/plugins/virtual/virtual-mail.c
036626b19f14bef582f96e556913ae91b1d67881 23-Jun-2010 Timo Sirainen <tss@iki.fi>

Added mail_max_lock_timeout setting. This could be useful inside lda/lmtp protocol sections to avoid them from spending too much time waiting for locks, since they can easily just return "try again later". --HG-- branch : HEAD

539977f9257bd8985be5a8093658da266ae9cd19 07-Jun-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Plugin API changed to run plugin functions in correct order. Previously the hooks were run in correct order, but the functions they overrode were run in reverse order. This caused problems when multiple plugins were used. --HG-- branch : HEAD

mail-storage-hooks.c mail-storage-hooks.h mail-storage-private.h mail-user.h mail.c mailbox-list-private.h /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/acl/acl-plugin.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/fts-solr/fts-solr-plugin.c /dovecot/src/plugins/fts/fts-plugin.c /dovecot/src/plugins/fts/fts-plugin.h /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/listescape/listescape-plugin.c /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/notify/notify-storage.c /dovecot/src/plugins/quota/quota-plugin.c /dovecot/src/plugins/quota/quota-plugin.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/plugins/zlib/zlib-plugin.c
b83deefd2cf1e293373673eefb4d5cf60907978c 07-Jun-2010 Timo Sirainen <tss@iki.fi>

Mailbox deletion: Delay marking its index deleted until ACL has had a chance to abort the deletion. --HG-- branch : HEAD

5d202fa7788e500f5b2bab2aa6f6327c8c7461dc 26-May-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Removed unnecessary struct mail_save_context.saved_physical_size --HG-- branch : HEAD

3ed2d0f6b5e67e2663d44489d9da3176823789a8 14-May-2010 Timo Sirainen <tss@iki.fi>

Use IO_BLOCK_SIZE macro to specify how large read/write syscalls to use. --HG-- branch : HEAD

61e27995aadbc2f97927d3635f98d1d4ac4751e0 13-May-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Removed struct mail.get_index_mail(). get_real_mail() is basically the same. --HG-- branch : HEAD

9af6cc9ebc9986c1275ebdfa29c39e152af1557e 12-May-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Added mail_get_real_mail() that returns physical mail in a virtual mailbox. --HG-- branch : HEAD

4fc52b7b25c3d3f42348903e0154840f8761f306 13-Apr-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Added search query building from human-friendly input. --HG-- branch : HEAD

20b2d47ed762ca2c009aa37e360af6f223ac71bd 13-Apr-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Rewrote search query building code to be more modular. --HG-- branch : HEAD

420040a5930a2b497e79ff0b5f59ba4b764a5b39 07-Apr-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Panic if deiniting storage before closing its mailboxes. --HG-- branch : HEAD

c0225f7f6b43d34dc58c17d3304f0fd60ab89894 27-Mar-2010 Timo Sirainen <tss@iki.fi>

lib-storage: mail_get_parts() no longer returns const pointer. The struct message_part contained context-pointer and other APIs were using it, so the pointer really couldn't be const without casting it away sometimes. --HG-- branch : HEAD

cd83124e5d070a016c590bb0b1096d7828c7b6ad 19-Mar-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Moved index transaction/view from index_transaction to mailbox_transaction. --HG-- branch : HEAD

b58aafbd21b365117538f73f306d22f75acd91f1 19-Feb-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Added support for plugins to specify message's physical size when saving. Changed dbox to save this value to metadata, and use when present. --HG-- branch : HEAD

029c8542982001bf1386aee0ea9cb9843e5ab62d 15-Feb-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Removed INBOX auto-creating from backend code. Added bool box->inbox. --HG-- branch : HEAD

e03d986a74128f5ba30fcfda9f6e36578f5d8dec 15-Feb-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox.free() method. Use it instead of close() where necessary. --HG-- branch : HEAD

2649b237dd4690575e75a30b2bf3b39ebd37b835 14-Feb-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Mailbox renaming API changed. --HG-- branch : HEAD

e5fd6dfd0a492e4708d4dbb7971d7fc5d7b8fd85 12-Feb-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Removed input parameter from mailbox_alloc(), added mailbox_open_stream() --HG-- branch : HEAD

/dovecot/src/doveadm/doveadm-mail.c /dovecot/src/dsync/dsync-worker-local.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-create.c /dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/imap-status.c /dovecot/src/lda/main.c /dovecot/src/lib-lda/mail-deliver.c index/cydir/cydir-storage.c index/dbox-common/dbox-storage.c index/dbox-multi/mdbox-storage-rebuild.c index/dbox-multi/mdbox-storage.c index/dbox-multi/mdbox-storage.h index/dbox-single/sdbox-storage.c index/dbox-single/sdbox-storage.h index/index-storage.c index/index-storage.h index/maildir/maildir-storage.c index/mbox/mbox-storage.c index/raw/raw-storage.c mail-storage-private.h mail-storage.c mail-storage.h test-mail-storage.h test-mailbox.c /dovecot/src/lmtp/commands.c /dovecot/src/plugins/autocreate/autocreate-plugin.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/listescape/listescape-plugin.c /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3/pop3-client.c
fbd918f47f591f8084fd52b207ef29515ddd11b9 09-Feb-2010 Timo Sirainen <tss@iki.fi>

lib-storage: STATUS_GUID moved to mailbox_get_guid() that can fail. --HG-- branch : HEAD

3f91e60401495a4046c73992fabaa5e77200a451 09-Feb-2010 Timo Sirainen <tss@iki.fi>

Mailbox deletion: Fixed race condition where a mailbox couldn't 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 index/cydir/cydir-storage.c index/dbox-common/dbox-mail.h index/dbox-common/dbox-storage.c index/dbox-common/dbox-storage.h index/dbox-multi/mdbox-map.c index/dbox-multi/mdbox-map.h index/dbox-multi/mdbox-storage.c index/dbox-single/sdbox-storage.c index/index-storage.c index/index-storage.h index/index-transaction.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/mbox/mbox-storage.c index/raw/raw-storage.c index/shared/shared-list.c list/Makefile.am list/mailbox-list-delete.c list/mailbox-list-delete.h list/mailbox-list-fs.c list/mailbox-list-fs.h list/mailbox-list-maildir.c list/mailbox-list-maildir.h mail-copy.h mail-storage-private.h mail-storage.c mail-storage.h mailbox-list-private.h mailbox-list.c mailbox-list.h 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
d22301419109ed4a38351715e6760011421dadec 07-Feb-2010 Timo Sirainen <tss@iki.fi>

lib-storage: *_mailboxes don't descend from index_mailbox anymore, it's now a context. --HG-- branch : HEAD

index/cydir/cydir-save.c index/cydir/cydir-storage.c index/cydir/cydir-storage.h index/cydir/cydir-sync.c index/dbox-common/dbox-mail.c index/dbox-common/dbox-storage.c index/dbox-common/dbox-sync-rebuild.c index/dbox-common/dbox-sync-rebuild.h index/dbox-multi/mdbox-mail.c index/dbox-multi/mdbox-save.c index/dbox-multi/mdbox-storage-rebuild.c index/dbox-multi/mdbox-storage.c index/dbox-multi/mdbox-storage.h index/dbox-multi/mdbox-sync.c index/dbox-single/sdbox-file.c index/dbox-single/sdbox-mail.c index/dbox-single/sdbox-save.c index/dbox-single/sdbox-storage.c index/dbox-single/sdbox-storage.h index/dbox-single/sdbox-sync-file.c index/dbox-single/sdbox-sync-rebuild.c index/dbox-single/sdbox-sync.c index/index-mail-headers.c index/index-mail.c index/index-mail.h index/index-mailbox-check.c index/index-search.c index/index-status.c index/index-storage.c index/index-storage.h index/index-sync-changes.c index/index-sync-changes.h index/index-sync-private.h index/index-sync-search.c index/index-sync.c index/index-thread-private.h index/index-thread.c index/index-transaction.c index/maildir/maildir-copy.c index/maildir/maildir-keywords.c index/maildir/maildir-mail.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-sync-index.c index/maildir/maildir-sync.c index/maildir/maildir-uidlist.c index/maildir/maildir-uidlist.h index/maildir/maildir-util.c index/mbox/mbox-file.c index/mbox/mbox-lock.c index/mbox/mbox-mail.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-sync-parse.c index/mbox/mbox-sync-update.c index/mbox/mbox-sync.c index/raw/raw-storage.c index/raw/raw-storage.h index/raw/raw-sync.c index/test-index-fetch.c mail-storage-private.h /dovecot/src/plugins/virtual/virtual-config.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-search.c /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c
ca98d6a1bbe73499da758a36bfab2963375c8d06 07-Feb-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Moved struct mail_index_* from index_mailbox to mailbox. We're relying more and more of all mailboxes being used via lib-index, and this change makes accessing the indexes easier. --HG-- branch : HEAD

index/cydir/cydir-save.c index/cydir/cydir-storage.c index/cydir/cydir-sync.c index/dbox-common/dbox-sync-rebuild.c index/dbox-multi/mdbox-mail.c index/dbox-multi/mdbox-save.c index/dbox-multi/mdbox-storage-rebuild.c index/dbox-multi/mdbox-storage.c index/dbox-multi/mdbox-sync.c index/dbox-single/sdbox-mail.c index/dbox-single/sdbox-save.c index/dbox-single/sdbox-storage.c index/dbox-single/sdbox-sync-rebuild.c index/dbox-single/sdbox-sync.c index/index-fetch.c index/index-mail-headers.c index/index-mail.c index/index-search-result.c index/index-search.c index/index-sort-string.c index/index-status.c index/index-storage.c index/index-storage.h index/index-sync-search.c index/index-sync.c index/index-thread.c index/index-transaction.c index/maildir/maildir-copy.c index/maildir/maildir-mail.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-sync-index.c index/maildir/maildir-sync.c index/maildir/maildir-uidlist.c index/maildir/maildir-util.c index/mbox/mbox-lock.c index/mbox/mbox-mail.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-sync-parse.c index/mbox/mbox-sync.c index/raw/raw-storage.c index/raw/raw-sync.c index/test-index-fetch.c mail-storage-private.h mail-storage.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-search.c /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/plugins/virtual/virtual-sync.c
3c493c276f599d9b9cd10764876d648003046954 07-Feb-2010 Timo Sirainen <tss@iki.fi>

lib-storage: Moved mailbox directory creation code to mailbox_list backend. --HG-- branch : HEAD

2584e86cc2d8c31ba30a4109cf4ba09d1e37e28a 17-Dec-2009 Timo Sirainen <tss@iki.fi>

lib-storage: Changed mailbox_sync() and mailbox_sync_deinit() APIs. Although we're already in beta stage, this is simple enough of a change that it shouldn't matter much. Having syncing also return status information made the API ugly and the status information wasn't even wanted all that often. --HG-- branch : HEAD

/dovecot/src/doveadm/doveadm-mail.c /dovecot/src/dsync/dsync-worker-local.c /dovecot/src/imap/cmd-close.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/imap-status.c /dovecot/src/imap/imap-sync.c /dovecot/src/lda/main.c /dovecot/src/lib-lda/mail-deliver.c index/index-storage.h index/index-sync.c list/index-mailbox-list-sync.c mail-storage-private.h mail-storage.c mail-storage.h test-mailbox.c /dovecot/src/lmtp/commands.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-commands.c
5666a3d6a7ea89362b8d9e8b39b15424cd9d6388 04-Dec-2009 Timo Sirainen <tss@iki.fi>

lib-storage: Plugin hook API changed to support per-user plugins within a process. --HG-- branch : HEAD

Makefile.am list/index-mailbox-list-sync.c list/index-mailbox-list.c mail-namespace.c mail-namespace.h mail-storage-private.h mail-storage.c mail-user.c mail-user.h mailbox-list-private.h mailbox-list.c /dovecot/src/lib/module-dir.c /dovecot/src/lib/module-dir.h /dovecot/src/lib/strfuncs.c /dovecot/src/lib/strfuncs.h /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/acl/acl-plugin.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/autocreate/autocreate-plugin.c /dovecot/src/plugins/autocreate/autocreate-plugin.h /dovecot/src/plugins/convert/convert-plugin.c /dovecot/src/plugins/convert/convert-plugin.h /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/expire/expire-plugin.h /dovecot/src/plugins/fts-lucene/fts-lucene-plugin.c /dovecot/src/plugins/fts-lucene/fts-lucene-plugin.h /dovecot/src/plugins/fts-solr/fts-solr-plugin.c /dovecot/src/plugins/fts-solr/fts-solr-plugin.h /dovecot/src/plugins/fts-squat/fts-squat-plugin.c /dovecot/src/plugins/fts-squat/fts-squat-plugin.h /dovecot/src/plugins/fts/fts-plugin.c /dovecot/src/plugins/fts/fts-plugin.h /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.h /dovecot/src/plugins/listescape/listescape-plugin.c /dovecot/src/plugins/listescape/listescape-plugin.h /dovecot/src/plugins/mail-log/mail-log-plugin.c /dovecot/src/plugins/mail-log/mail-log-plugin.h /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.h /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-plugin.c /dovecot/src/plugins/quota/quota-plugin.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/trash/trash-plugin.h /dovecot/src/plugins/virtual/virtual-plugin.c /dovecot/src/plugins/virtual/virtual-plugin.h /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/plugins/zlib/zlib-plugin.h
f3bb2fbe87425dc89a839908985af496f7f65702 18-Nov-2009 Timo Sirainen <tss@iki.fi>

mailbox_search_next*() API changed to return bool. If search fails, it'll be noticed anyway by mailbox_search_deinit(). --HG-- branch : HEAD

/dovecot/src/dsync/dsync-worker-local.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-search.c index/index-search-result.c index/index-search.c index/index-storage.h index/index-thread.c mail-storage-private.h mail-storage.c mail-storage.h test-mailbox.c /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-search.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-commands.c
30d9ebeb1b74629f1ada541011fd41b8416ea2e0 05-Nov-2009 Timo Sirainen <tss@iki.fi>

lib-storage: Moved mail_generate_*() to be public functions. --HG-- branch : HEAD

225e82df5dd1e765f4e52b80c954558f00e5a7df 01-Sep-2009 Timo Sirainen <tss@iki.fi>

Added pop3_save_uidl setting. When UIDLs are sent to client, save them to dovecot-uidlist. This allows changing pop3_uidl_format without messages getting re-downloaded. It's also useful with virtual POP3 INBOX when UIDLs are based on IMAP UIDs that may not be as stable as in non-virtual INBOX. --HG-- branch : HEAD

4d527c363482be2b65dd0573d878ecda86cbb0bb 28-Aug-2009 Timo Sirainen <tss@iki.fi>

mailbox_copy() now sets mail_save_context.copying=TRUE. --HG-- branch : HEAD

573f0491a5733fe21fa062a455acb4790b4e0499 13-Aug-2009 Timo Sirainen <tss@iki.fi>

Use separate read block sizes when reading only message header vs. full message. --HG-- branch : HEAD

0c3cde7382518b486092bfae64bb6a948405854a 31-Jul-2009 Timo Sirainen <tss@iki.fi>

Removed mailbox_guid_is_empty(), use mail_guid_128_is_empty() directly instead. --HG-- branch : HEAD

eb0816090cf5a549280ad783b9aa6fec199d36ba 31-Jul-2009 Timo Sirainen <tss@iki.fi>

index-storage: Simplified the way transactions are are created/finished. Removed also mail_storage.class_init/deinit since they're no longer used for anything. --HG-- branch : HEAD

index/cydir/Makefile.am index/cydir/cydir-save.c index/cydir/cydir-storage.c index/cydir/cydir-storage.h index/cydir/cydir-transaction.c index/dbox/Makefile.am index/dbox/dbox-save.c index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/dbox/dbox-transaction.c index/index-storage.h index/index-transaction.c index/maildir/Makefile.am index/maildir/maildir-copy.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-transaction.c index/mbox/Makefile.am index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-transaction.c index/raw/Makefile.am index/raw/raw-storage.c index/raw/raw-storage.h index/raw/raw-transaction.c index/shared/shared-storage.c mail-storage-private.h mail-storage.c test-mail-storage.c /dovecot/src/plugins/virtual/virtual-save.c /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-transaction.c /dovecot/src/plugins/virtual/virtual-transaction.h
c820b702d1eabfd5b029ac168fe769265e541561 29-Jul-2009 Timo Sirainen <tss@iki.fi>

Removed MAILBOX_GUID_SIZE macro, use MAIL_GUID_128_SIZE everywhere. They were required to be the same size anyway. --HG-- branch : HEAD

ad48319996942463675b53877092ab7e13a7a75a 29-Jul-2009 Timo Sirainen <tss@iki.fi>

Added ability to specify message's minimum modseq value. --HG-- branch : HEAD

/dovecot/src/lib-index/mail-index-modseq.c /dovecot/src/lib-index/mail-index-modseq.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-transaction-export.c /dovecot/src/lib-index/mail-index-transaction-finish.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-update.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-append.c /dovecot/src/lib-index/mail-transaction-log-file.c /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log-view.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/test-mail-index-transaction-finish.c /dovecot/src/lib-index/test-mail-index-transaction-update.c /dovecot/src/lib-index/test-mail-transaction-log-append.c /dovecot/src/lib-index/test-mail-transaction-log-view.c index/cydir/cydir-mail.c index/cydir/cydir-save.c index/dbox/dbox-mail.c index/dbox/dbox-save.c index/index-mail.c index/index-mail.h index/maildir/maildir-mail.c index/maildir/maildir-save.c index/mbox/mbox-mail.c index/mbox/mbox-save.c index/raw/raw-mail.c mail-storage-private.h mail-storage.c mail-storage.h mail.c test-mail.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-save.c /dovecot/src/util/logview.c
bddd52cb7f3e5a894c080f60750aa76b5aeaf103 28-Jul-2009 Timo Sirainen <tss@iki.fi>

Added ability to change existing messages' UIDs with mail_[index_]update_uid(). --HG-- branch : HEAD

96308127e006bb3b1108093bcf4cc1fd9481cb7a 24-Jul-2009 Timo Sirainen <tss@iki.fi>

mailbox_transaction_commit_get_uids() changed to _get_changes() with more generic API. Saved UIDs are no longer necessarily in a simple x:y range. --HG-- branch : HEAD

5785cfd5183086cbf18c6f1796021de92542e874 18-Jul-2009 Timo Sirainen <tss@iki.fi>

mail_guid_128_is_empty() is now a public function. --HG-- branch : HEAD

0f83592ccc280a29bdf01c4475805f6a4bad9abd 16-Jul-2009 Timo Sirainen <tss@iki.fi>

mail_generate_guid_128_hash() is now a public function. --HG-- branch : HEAD

0c909e3461607eadcd66f4eac69b7f34e37fccf1 14-Jul-2009 Timo Sirainen <tss@iki.fi>

Keep track of expunged messages' GUIDs and expose them via mailbox_get_expunges(). The message GUIDs are stored in expunge records to transaction log. Before doing the final expunge, Maildir and dbox verify that the GUID in expunge request matches the current actual GUID. The GUID is stored in 128 bit field. If the real GUID isn't 128 bit, the bits are taken from SHA1 of the GUID. --HG-- branch : HEAD

/dovecot/src/imap/imap-fetch.c /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-export.c /dovecot/src/lib-index/mail-index-transaction-finish.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-update.c /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-append.c /dovecot/src/lib-index/mail-transaction-log-file.c /dovecot/src/lib-index/mail-transaction-log-view.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-mail/mail-types.h index/dbox/dbox-file-fix.c index/dbox/dbox-file.c index/dbox/dbox-file.h index/dbox/dbox-map.c index/dbox/dbox-save.c index/dbox/dbox-storage-rebuild.c index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/dbox/dbox-sync-file.c index/dbox/dbox-sync.c index/dbox/dbox-sync.h index/index-fetch.c index/index-mail.c index/index-storage.h index/index-sync-changes.c index/index-sync-changes.h index/maildir/maildir-sync-index.c index/mbox/mbox-sync.c mail-storage-private.h mail-storage.c mail-storage.h mail.c test-mailbox.c /dovecot/src/util/logview.c
64b5dcc136d6eb7ad90463e6cba9e16880ab52ad 07-Jul-2009 Timo Sirainen <tss@iki.fi>

lib-storage: Added mailbox_get_vname(). --HG-- branch : HEAD

0cce885512b836ce021260a58e7b4f099b36d0f1 30-Jun-2009 Timo Sirainen <tss@iki.fi>

Mailbox saving: Allow setting IMAP UID, POP3 UIDL and save date. Most of them aren't yet implemented by backends. --HG-- branch : HEAD

e156adefc1260d31a145df2f5e9b3c82050d4163 28-Jun-2009 Timo Sirainen <tss@iki.fi>

Whenever file's group changing fails, show the group origin in the error message. --HG-- branch : HEAD

/dovecot/src/lda/main.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h index/cydir/cydir-storage.c index/dbox/dbox-file.c index/dbox/dbox-map.c index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/index-storage.c index/maildir/maildir-keywords.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-uidlist.c index/maildir/maildir-util.c index/mbox/mbox-storage.c list/mailbox-list-fs.c list/subscription-file.c mail-storage-private.h mail-storage.c mailbox-list-private.h mailbox-list.c mailbox-list.h /dovecot/src/lib/eacces-error.c /dovecot/src/lib/eacces-error.h /dovecot/src/lib/file-dotlock.c /dovecot/src/lib/file-dotlock.h /dovecot/src/lib/mkdir-parents.c /dovecot/src/lib/mkdir-parents.h /dovecot/src/lib/safe-mkstemp.c /dovecot/src/lib/safe-mkstemp.h /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/quota/quota-maildir.c
17ad2164c747cedbf81dae1893063e71a3df0356 26-Jun-2009 Timo Sirainen <tss@iki.fi>

Added support for creating/updating mailboxes with given metadata (guid, uid validity, etc). --HG-- branch : HEAD

/dovecot/src/imap/cmd-create.c /dovecot/src/lib-lda/mail-deliver.c index/cydir/cydir-storage.c index/dbox/dbox-save.c index/dbox/dbox-storage-rebuild.c index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/dbox/dbox-sync-rebuild.c index/index-storage.c index/maildir/maildir-storage.c index/maildir/maildir-uidlist.c index/maildir/maildir-uidlist.h index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-sync.c index/raw/raw-storage.c index/shared/shared-storage.c mail-storage-private.h mail-storage.c mail-storage.h test-mail-storage.c test-mailbox.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/autocreate/autocreate-plugin.c /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/listescape/listescape-plugin.c /dovecot/src/plugins/virtual/virtual-storage.c
84ed9f8f3d0e5ed47607ef417618e49e4f865557 22-Jun-2009 Timo Sirainen <tss@iki.fi>

Added reference counting to struct mail_keywords and related APIs. --HG-- branch : HEAD

1d2b188f0eedc3cab6e27ceac5425a037f38042e 15-Jun-2009 Timo Sirainen <tss@iki.fi>

Mailbox opening and closing APIs changed. --HG-- branch : HEAD

/dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-close.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-unselect.c /dovecot/src/imap/imap-status.c /dovecot/src/lda/main.c /dovecot/src/lib-lda/mail-deliver.c index/cydir/cydir-storage.c index/cydir/cydir-storage.h index/cydir/cydir-sync.c index/dbox/dbox-file.c index/dbox/dbox-mail.c index/dbox/dbox-save.c index/dbox/dbox-storage-rebuild.c index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/dbox/dbox-sync-rebuild.c index/dbox/dbox-sync.c index/index-storage.c index/index-storage.h index/index-thread.c index/maildir/maildir-copy.c index/maildir/maildir-keywords.c index/maildir/maildir-mail.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-sync-index.c index/maildir/maildir-sync.c index/maildir/maildir-uidlist.c index/maildir/maildir-util.c index/mbox/mbox-file.c index/mbox/mbox-lock.c index/mbox/mbox-mail.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-sync-rewrite.c index/mbox/mbox-sync.c index/raw/raw-mail.c index/raw/raw-storage.c index/raw/raw-storage.h index/raw/raw-sync.c list/index-mailbox-list-sync.c mail-storage-private.h mail-storage.c mail-storage.h mailbox-list-private.h mailbox-list.c test-mail-storage.c test-mail-storage.h test-mailbox.c /dovecot/src/lmtp/commands.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/fts/fts-plugin.c /dovecot/src/plugins/fts/fts-plugin.h /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.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/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-config.c /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3/pop3-client.c /dovecot/src/util/doveadm.c
14ab4610b6038da6c5d0814fecabc6b74bc81a6b 05-Jun-2009 Timo Sirainen <tss@iki.fi>

Added mailbox_keywords_create_from_indexes(). --HG-- branch : HEAD

de58be41126e5d68008d2ea706d62ccdc1f29337 05-Jun-2009 Timo Sirainen <tss@iki.fi>

mailbox_header_lookup*() private API changed. --HG-- branch : HEAD

ee116df08d0fdab703483e18fe8076b2ef9fd9d7 05-Jun-2009 Timo Sirainen <tss@iki.fi>

struct mail_storage.callbacks is no longer a pointer. --HG-- branch : HEAD

563273bdac80393af63b9520cbf4d24cc0efd028 03-Jun-2009 Timo Sirainen <tss@iki.fi>

mail storages can now be shared between namespaces. --HG-- branch : HEAD

2615df45a8027948a474abe5e817b34b0499c171 03-Jun-2009 Timo Sirainen <tss@iki.fi>

Initial commit for making mail_storage:mailbox_list to be from 1:1 to n:n. This will allow namespaces to share the same storage and a single namespace to have multiple storages (multiple mailbox formats). Neither works currently, and this commit probably breaks some things. --HG-- branch : HEAD

/dovecot/src/config/settings-get.pl /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-create.c /dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-rename.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-status.c /dovecot/src/imap/cmd-subscribe.c /dovecot/src/imap/imap-client.c /dovecot/src/imap/imap-commands-util.c /dovecot/src/imap/imap-commands-util.h /dovecot/src/imap/imap-commands.h /dovecot/src/imap/imap-status.c /dovecot/src/imap/imap-status.h /dovecot/src/lda/main.c /dovecot/src/lib-lda/mail-deliver.c index/cydir/cydir-mail.c index/cydir/cydir-save.c index/cydir/cydir-storage.c index/cydir/cydir-sync.c index/dbox/dbox-map.c index/dbox/dbox-settings.c index/dbox/dbox-storage-rebuild.c index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/dbox/dbox-sync-rebuild.c index/index-storage.c index/index-storage.h index/maildir/maildir-keywords.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-sync-index.c index/maildir/maildir-uidlist.c index/maildir/maildir-util.c index/mbox/mbox-lock.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/raw/raw-storage.c index/shared/shared-list.c index/shared/shared-storage.c index/shared/shared-storage.h list/index-mailbox-list-sync.c list/index-mailbox-list.c list/mailbox-list-fs.c list/mailbox-list-maildir.h mail-namespace.c mail-namespace.h mail-storage-private.h mail-storage-settings.c mail-storage-settings.h mail-storage.c mail-storage.h mail-user.c mailbox-list-private.h mailbox-list.c mailbox-list.h /dovecot/src/lmtp/commands.c /dovecot/src/plugins/acl/acl-api-private.h /dovecot/src/plugins/acl/acl-api.c /dovecot/src/plugins/acl/acl-api.h /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/acl/acl-backend.c /dovecot/src/plugins/acl/acl-lookup-dict.c /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/acl/acl-shared-storage.c /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/acl/acl-storage.h /dovecot/src/plugins/autocreate/autocreate-plugin.c /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.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/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-config.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3/pop3-client.c /dovecot/src/util/doveadm.c
1eb17e61d3d38372674aa0c55caedb0185a985f5 29-Apr-2009 Timo Sirainen <tss@iki.fi>

Split struct mail_private.stats_dentry_lookup_count to open/stat counts. --HG-- branch : HEAD

b0a901f1dbe9e05ac1c92a0974af6bce0274f31a 29-Apr-2009 Timo Sirainen <tss@iki.fi>

struct mail_private now contains all kinds of statistics about file accesses. --HG-- branch : HEAD

ebe6df72f1309135f02b6a4d2aef1e81a073f91c 29-Apr-2009 Timo Sirainen <tss@iki.fi>

Added struct mail.lookup_abort, which can be used to abort lookups that can't be done using cache. --HG-- branch : HEAD

65f8fb656051f1059f7b5a2da9c5555adcc30439 17-Apr-2009 Timo Sirainen <tss@iki.fi>

Moved MAIL_READ_BLOCK_SIZE to mail-storage-private.h --HG-- branch : HEAD

3e564425db51f3921ce4de11859777135fdedd15 10-Apr-2009 Timo Sirainen <tss@iki.fi>

Added mail_storage_purge() for dbox. dbox no longer calls it automatically at logout. --HG-- branch : HEAD

e050e5c9b1688765f1fdfce9b7141f7b614383fd 10-Mar-2009 Timo Sirainen <tss@iki.fi>

Maildir and Cydir: When saving mail, expose ostream to mail_save_context.output. This would allow plugins to hook into it. --HG-- branch : HEAD

70ead6466f9baa8294e71fc2fba0a4f54f488b5e 26-Feb-2009 Timo Sirainen <tss@iki.fi>

Added mail_user_get_temp_prefix() and mail_storage_get_temp_prefix(). --HG-- branch : HEAD

aa247243412a49f9bdebf7255e131dc6ece4ed46 25-Feb-2009 Timo Sirainen <tss@iki.fi>

Mail copying: Avoid updating cache file because of copying. The mail is being opened in any case, so it's unlikely to help anything. --HG-- branch : HEAD

3c52b294054995d62bd1851c5c42b975fd8c22c9 25-Feb-2009 Timo Sirainen <tss@iki.fi>

dbox: Initial support for saving multiple messages per file. --HG-- branch : HEAD

bd4d0a1a7c0626452b8d82f37e3ec07267ac9896 06-Feb-2009 Timo Sirainen <tss@iki.fi>

Mail copying API changed to be based on save API. This allows extending it easily in future. --HG-- branch : HEAD

a64adf62fa33f2463a86f990217b0c9078531a40 28-Jan-2009 Timo Sirainen <tss@iki.fi>

Initial commit for config rewrite. --HG-- branch : HEAD

/dovecot/.hgignore /dovecot/TODO /dovecot/configure.in /dovecot/src/Makefile.am /dovecot/src/auth/Makefile.am /dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-settings.c /dovecot/src/auth/auth-settings.h /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/auth-worker-server.h /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/db-ldap.c /dovecot/src/auth/main.c /dovecot/src/auth/mech-anonymous.c /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/mech-gssapi.c /dovecot/src/auth/mech-rpa.c /dovecot/src/auth/mech-winbind.c /dovecot/src/auth/mech.c /dovecot/src/auth/mech.h /dovecot/src/auth/passdb-cache.c /dovecot/src/auth/passdb-cache.h /dovecot/src/auth/passdb-passwd-file.c /dovecot/src/auth/passdb.c /dovecot/src/auth/passdb.h /dovecot/src/auth/userdb-passwd-file.c /dovecot/src/auth/userdb-prefetch.c /dovecot/src/auth/userdb.c /dovecot/src/auth/userdb.h /dovecot/src/config/Makefile.am /dovecot/src/config/common.h /dovecot/src/config/config-connection.c /dovecot/src/config/config-connection.h /dovecot/src/config/config-parser.c /dovecot/src/config/config-parser.h /dovecot/src/config/main.c /dovecot/src/config/settings-get.pl /dovecot/src/deliver/Makefile.am /dovecot/src/deliver/deliver-settings.c /dovecot/src/deliver/deliver-settings.h /dovecot/src/deliver/deliver.c /dovecot/src/deliver/deliver.h /dovecot/src/imap-login/Makefile.am /dovecot/src/imap-login/client-authenticate.c /dovecot/src/imap-login/client.c /dovecot/src/imap-login/imap-proxy.c /dovecot/src/imap/Makefile.am /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-capability.c /dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-id.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-subscribe.c /dovecot/src/imap/common.h /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-settings.c /dovecot/src/imap/imap-settings.h /dovecot/src/imap/imap-sync.c /dovecot/src/imap/main.c /dovecot/src/lib-settings/Makefile.am /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-settings/settings-parser.h Makefile.am index/cydir/cydir-storage.c index/dbox/Makefile.am index/dbox/dbox-file.c index/dbox/dbox-settings.c index/dbox/dbox-settings.h index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/index-mail.c index/index-storage.c index/index-storage.h index/maildir/Makefile.am index/maildir/maildir-copy.c index/maildir/maildir-keywords.c index/maildir/maildir-save.c index/maildir/maildir-settings.c index/maildir/maildir-settings.h index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-uidlist.c index/mbox/Makefile.am index/mbox/mbox-lock.c index/mbox/mbox-mail.c index/mbox/mbox-save.c index/mbox/mbox-settings.c index/mbox/mbox-settings.h index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-sync.c index/raw/raw-storage.c index/shared/shared-storage.c list/index-mailbox-list.c list/mailbox-list-fs-iter.c list/mailbox-list-fs.c list/mailbox-list-maildir.c list/subscription-file.c mail-namespace.c mail-namespace.h mail-storage-private.h mail-storage-settings.c mail-storage-settings.h mail-storage.c mail-storage.h mail-user.c mail-user.h mailbox-list-private.h mailbox-list.c mailbox-list.h /dovecot/src/lib/array-decl.h /dovecot/src/login-common/Makefile.am /dovecot/src/login-common/client-common.c /dovecot/src/login-common/common.h /dovecot/src/login-common/login-settings.c /dovecot/src/login-common/login-settings.h /dovecot/src/login-common/main.c /dovecot/src/login-common/master.c /dovecot/src/login-common/sasl-server.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/Makefile.am /dovecot/src/master/auth-process.c /dovecot/src/master/child-process.c /dovecot/src/master/child-process.h /dovecot/src/master/dict-process.c /dovecot/src/master/listener.c /dovecot/src/master/listener.h /dovecot/src/master/login-process.c /dovecot/src/master/login-process.h /dovecot/src/master/mail-process.c /dovecot/src/master/mail-process.h /dovecot/src/master/main.c /dovecot/src/master/master-settings-defs.c /dovecot/src/master/master-settings.c /dovecot/src/master/master-settings.h /dovecot/src/master/ssl-init.c /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/pop3-login/Makefile.am /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3-login/client.c /dovecot/src/pop3-login/pop3-proxy.c /dovecot/src/pop3/Makefile.am /dovecot/src/pop3/client.c /dovecot/src/pop3/client.h /dovecot/src/pop3/commands.c /dovecot/src/pop3/common.h /dovecot/src/pop3/main.c /dovecot/src/pop3/pop3-settings.c /dovecot/src/pop3/pop3-settings.h
9e9f0cf3cc3ce546e8a433990c92dd9be6665df6 05-Dec-2008 Timo Sirainen <tss@iki.fi>

Improved "Permission denied" error handling. It'll now show also the uid/gid name. Also moved the code to mail-error.c and used it when listing mailboxes. --HG-- branch : HEAD

d54ab8987e482a8df250615b44f41fa040c38741 30-Nov-2008 Timo Sirainen <tss@iki.fi>

fts: Hide "Searching .." notify while indexing. --HG-- branch : HEAD

f4616f1875297fb2f583d913c0f01b075bdecd5b 30-Nov-2008 Timo Sirainen <tss@iki.fi>

Give more correct "* OK searched n%" notifications with fts and virtual mailboxes. --HG-- branch : HEAD

b8835b8a21c617ceb82ddc5a176243faf36aa8f7 30-Nov-2008 Timo Sirainen <tss@iki.fi>

fts: Added support for handling multiple namespaces. --HG-- branch : HEAD

3852872e6954b7132e637294132005e86b8ebd4a 29-Nov-2008 Timo Sirainen <tss@iki.fi>

Finished making full text search indexes work fast with virtual mailboxes. --HG-- branch : HEAD

ecdce39e5ef4b62eefa9f5818f17d153fd5d710a 23-Nov-2008 Timo Sirainen <tss@iki.fi>

Initial support for getting full text search working nicely with virtual mailboxes. --HG-- branch : HEAD

310767ca33e7636d40ec45dee68a2c319a5fa3c0 23-Nov-2008 Timo Sirainen <tss@iki.fi>

Added wanted_fields and wanted_headers fields to struct mail_search_context. --HG-- branch : HEAD

bd1b2615928a1e8be190cb0405754f0aec8cac2f 22-Nov-2008 Timo Sirainen <tss@iki.fi>

mail_storage.search_next_update_seq returns now bool. It was never failing. --HG-- branch : HEAD

04870054863757edf048c81dcce3c5e7dec453cd 16-Nov-2008 Timo Sirainen <tss@iki.fi>

ACLs: Initial support for "post" right. --HG-- branch : HEAD

4321f6c969e7b8f6b243ff5bb6b8d297921676f6 15-Nov-2008 Timo Sirainen <tss@iki.fi>

Implemented imap-response-codes draft. --HG-- branch : HEAD

cfb86adbda733e4945db44c6be27f8fda142c0a3 25-Oct-2008 Timo Sirainen <tss@iki.fi>

Make mailbox_header_lookup_ctx's list of headers available. --HG-- branch : HEAD

f1743785713e7632459d623d5df2108f4b93accb 23-Oct-2008 Timo Sirainen <tss@iki.fi>

Fixed shared mailboxes to work with plugins. --HG-- branch : HEAD

d23c747de9d33966483fbdd41f08ad7766da7c5c 12-Aug-2008 Timo Sirainen <tss@iki.fi>

Added struct mail_user and fixed the code to support multiple users per process. --HG-- branch : HEAD

/dovecot/src/deliver/deliver.c /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-namespace.c /dovecot/src/imap/cmd-subscribe.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/main.c Makefile.am index/maildir/maildir-storage.c index/mbox/mbox-save.c index/mbox/mbox-storage.c mail-namespace.c mail-namespace.h mail-storage-private.h mail-storage.c mail-storage.h /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/convert/convert-plugin.c /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/convert/convert-storage.h /dovecot/src/plugins/convert/convert-tool.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-dict.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota-plugin.c /dovecot/src/plugins/quota/quota-plugin.h /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/quota/quota.h /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-config.c /dovecot/src/plugins/virtual/virtual-plugin.c /dovecot/src/plugins/virtual/virtual-plugin.h /dovecot/src/plugins/virtual/virtual-storage.c /dovecot/src/pop3/client.c /dovecot/src/pop3/client.h /dovecot/src/pop3/main.c
b19a1420da0618a10edf67c2cfd13c8c8633057a 07-Aug-2008 Timo Sirainen <tss@iki.fi>

Added the concept of Global UIDs that are preserved across copies. They can be fetched, searched and specified for the save API. dbox format supports them correctly, but with maildir the base filename is used so maildir_copy_preserve_filename=yes is required to preserve GUIDs when copying. --HG-- branch : HEAD

e3aeeb634245e80d4f643f8d2eea11d6b72336d8 07-Aug-2008 Timo Sirainen <tss@iki.fi>

mailbox_save_init() API was split to multiple functions. This allows adding more parameters easily in future. --HG-- branch : HEAD

e3796bfd2bc0fd5ba664893d346df9334a5b3af0 21-Jul-2008 Timo Sirainen <tss@iki.fi>

Added mailbox_keyword_is_valid(). --HG-- branch : HEAD

cf942dce0253075911a96cff323b5f30eb654ae0 20-Jul-2008 Timo Sirainen <tss@iki.fi>

mailbox.save_init() API now takes ** pointer to dest_mail, so multiple plugins can safely specify it. ctx->dest_mail also gets updated then. --HG-- branch : HEAD

f95b3d29bc56f139c18c880aa574a0ca72b0cffb 19-Jul-2008 Timo Sirainen <tss@iki.fi>

struct mailbox_header_lookup_ctx can now be referenced/unreferenced so it can be shared among multiple struct mails. --HG-- branch : HEAD

48270badadd82279bfe50ae3d187aea8b0b2b30e 21-Jun-2008 Timo Sirainen <tss@iki.fi>

CONDSTORE: STORE UNCHANGEDSINCE conflicts are now checked atomically. --HG-- branch : HEAD

d7a56951e519c28ac9b1fd5810a455a9ba238327 09-May-2008 Timo Sirainen <tss@iki.fi>

Added hook_mailbox_index_opened. --HG-- branch : HEAD

408e5be344c9131fdebe771718a5bf49f88cc51c 07-Jun-2008 Timo Sirainen <tss@iki.fi>

Added mailbox_get_uid_range(). --HG-- branch : HEAD

5afa8e2edf4f313cd56e5909f92f39c3b5b7b4d3 07-Jun-2008 Timo Sirainen <tss@iki.fi>

Renamed mailbox_get_uids() to mailbox_get_seq_range(). --HG-- branch : HEAD

3dd0679b6f24be0287cc42d7a60bbf59cdf8b637 05-Jun-2008 Timo Sirainen <tss@iki.fi>

Implemented CONTEXT=SEARCH extension. --HG-- branch : HEAD

c4b376dd6e0c423006d7ac83a39253bcaf8e7c47 03-Jun-2008 Timo Sirainen <tss@iki.fi>

Make mail_search_args an independent structure that can be used for multiple separate searches. --HG-- branch : HEAD

/dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-expunge.c /dovecot/src/imap/cmd-fetch.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-sort.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/cmd-thread.c /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-search.c /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sort.c /dovecot/src/imap/imap-sort.h /dovecot/src/imap/imap-thread.c /dovecot/src/imap/imap-thread.h index/index-search.c index/index-storage.h mail-search-build.c mail-search-build.h mail-search.c mail-search.h mail-storage-private.h mail-storage.c mail-storage.h /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-search.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/fts/fts-storage.h /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c
923eb3dde28e4d8841c14fd6b4a69635b7070c3e 15-Mar-2008 Timo Sirainen <tss@iki.fi>

Added QRESYNC support. --HG-- branch : HEAD

ea4f28398a0e4fb46be074307d512925c1fe7fc1 14-Mar-2008 Timo Sirainen <tss@iki.fi>

struct mail can't necessarily be casted to struct index_mail. Added a new get_index_mail() method to return it. --HG-- branch : HEAD

f86e4521d7864d385e3397a58eaa4b9c8ed178d8 14-Mar-2008 Timo Sirainen <tss@iki.fi>

Added transaction flags to struct mailbox_transaction_context. --HG-- branch : HEAD

01404d41657a104c5ea1c12bb87f9c321e9c1ac4 14-Mar-2008 Timo Sirainen <tss@iki.fi>

struct mail can't necessarily be casted to struct index_mail. Added a new get_index_mail() method to return it. --HG-- branch : HEAD

194603b35061fea1ee8d171a7104b6985c610966 14-Mar-2008 Timo Sirainen <tss@iki.fi>

Added transaction flags to struct mailbox_transaction_context. --HG-- branch : HEAD

a2f250a332dfc1e6cd4ffd196c621eb9dbf7b8a1 15-Mar-2008 Timo Sirainen <tss@iki.fi>

Initial CONDSTORE support. --HG-- branch : HEAD

/dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-fetch.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-status.c /dovecot/src/imap/imap-sync.c /dovecot/src/lib-imap/imap-util.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/Makefile.am /dovecot/src/lib-index/mail-index-map.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync-keywords.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h index/cydir/cydir-mail.c index/cydir/cydir-storage.c index/dbox/dbox-mail.c index/dbox/dbox-storage.c index/index-mail.c index/index-mail.h index/index-search.c index/index-status.c index/index-storage.c index/index-storage.h index/index-transaction.c index/maildir/maildir-mail.c index/maildir/maildir-storage.c index/mbox/mbox-mail.c index/mbox/mbox-storage.c index/raw/raw-mail.c index/raw/raw-storage.c mail-search-build.c mail-search.h mail-storage-private.h mail-storage.c mail-storage.h mail.c
838e367716bbd5e44b4a1691db9cbf72af53e9f0 14-Feb-2008 Timo Sirainen <tss@iki.fi>

Added mail_set_cache_corrupted() to rebuild the cache file and force recalculating the given field. --HG-- branch : HEAD

277506e6e05cdac79bacfb57e629e2fa0aa1ffdc 14-Feb-2008 Timo Sirainen <tss@iki.fi>

Added mail_set_cache_corrupted() to rebuild the cache file and force recalculating the given field. --HG-- branch : HEAD

b42697a5749b85659a24316d97f1c208d469e4e8 20-Jan-2008 Timo Sirainen <tss@iki.fi>

If mail storage or mailbox can't be accessed because of EACCES, log an error message that clearly shows where the permission problem is. --HG-- branch : HEAD

a757f31393b9d6fc7760a9dec8363404ab3ae576 09-Dec-2007 Timo Sirainen <tss@iki.fi>

Added mail_get_keyword_indexes() --HG-- branch : HEAD

32ee977e189266744ef69ac4e832fd3111d6f949 11-Nov-2007 Timo Sirainen <tss@iki.fi>

Delay creating directories until we really need them. --HG-- branch : HEAD

4bbd396aa6198c84f3f7763b6e8a63a26e97e141 11-Nov-2007 Timo Sirainen <tss@iki.fi>

Moved mailbox_deleted to struct mailbox. Added and used mailbox_set_deleted() which also sets an error message to storage. --HG-- branch : HEAD

47001341950b8588c5f3a96b75864dab48e279ae 21-Oct-2007 Timo Sirainen <tss@iki.fi>

Moved mail_create_mode/gid from struct maildir_mailbox to struct mailbox. --HG-- branch : HEAD

63f36c2b47217fc2dc4ed49cfc1907311d5ed366 30-Sep-2007 Timo Sirainen <tss@iki.fi>

mailbox_transaction_commit*() doesn't sync the mailbox anymore, so it shouldn't take mailbox_sync_flags parameter either. --HG-- branch : HEAD

/dovecot/src/deliver/deliver.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-sort.c /dovecot/src/imap/imap-sync.c /dovecot/src/imap/imap-thread.c index/index-storage.h index/index-transaction.c mail-storage-private.h mail-storage.c mail-storage.h /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/mail-log/mail-log-plugin.c /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c
43d32cbe60fdaef2699d99f1ca259053e9350411 16-Sep-2007 Timo Sirainen <tss@iki.fi>

Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED. --HG-- branch : HEAD

/dovecot/src/auth/auth-cache.c /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/main.c /dovecot/src/auth/mech-cram-md5.c /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/mech-winbind.c /dovecot/src/auth/passdb-bsdauth.c /dovecot/src/auth/passdb-checkpassword.c /dovecot/src/auth/passdb-ldap.c /dovecot/src/auth/passdb-passwd-file.c /dovecot/src/auth/passdb-passwd.c /dovecot/src/auth/passdb-shadow.c /dovecot/src/auth/passdb-sia.c /dovecot/src/auth/passdb-sql.c /dovecot/src/auth/passdb-vpopmail.c /dovecot/src/auth/password-scheme.c /dovecot/src/auth/userdb-ldap.c /dovecot/src/auth/userdb-passwd-file.c /dovecot/src/auth/userdb-sql.c /dovecot/src/auth/userdb-static.c /dovecot/src/deliver/deliver.c /dovecot/src/deliver/smtp-client.c /dovecot/src/dict/main.c /dovecot/src/imap-login/client.c /dovecot/src/imap/client.c /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/mail-storage-callbacks.c /dovecot/src/imap/main.c /dovecot/src/lib-charset/charset-utf8.c /dovecot/src/lib-dict/dict-db.c /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-index/mail-cache-sync-update.c /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-index-dummy-view.c /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlite.c /dovecot/src/lib-sql/sql-api.c index/cydir/cydir-save.c index/cydir/cydir-storage.c index/dbox/dbox-save.c index/dbox/dbox-storage.c index/index-search.c index/index-storage.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-util.c index/mbox/istream-raw-mbox.c index/mbox/mbox-lock.c index/mbox/mbox-save.c index/mbox/mbox-sync-private.h list/mailbox-list-fs.c list/mailbox-list-maildir.c mail-storage-private.h mailbox-list-private.h mailbox-list.c /dovecot/src/lib/backtrace-string.c /dovecot/src/lib/data-stack.c /dovecot/src/lib/data-stack.h /dovecot/src/lib/failures.c /dovecot/src/lib/failures.h /dovecot/src/lib/fdpass.c /dovecot/src/lib/imem.h /dovecot/src/lib/ioloop-notify-dn.c /dovecot/src/lib/ioloop-notify-none.c /dovecot/src/lib/istream-data.c /dovecot/src/lib/istream-file.c /dovecot/src/lib/istream-limit.c /dovecot/src/lib/istream-mmap.c /dovecot/src/lib/istream-seekable.c /dovecot/src/lib/istream-tee.c /dovecot/src/lib/istream.c /dovecot/src/lib/lib-signals.c /dovecot/src/lib/macros.h /dovecot/src/lib/mempool-alloconly.c /dovecot/src/lib/mempool-datastack.c /dovecot/src/lib/mempool-system-clean.c /dovecot/src/lib/mempool-system.c /dovecot/src/lib/mempool-unsafe-datastack.c /dovecot/src/lib/mempool.h /dovecot/src/lib/mmap-anon.c /dovecot/src/lib/mmap-util.c /dovecot/src/lib/mmap-util.h /dovecot/src/lib/module-dir.c /dovecot/src/lib/network.c /dovecot/src/lib/nfs-workarounds.c /dovecot/src/lib/ostream-crlf.c /dovecot/src/lib/printf-format-fix.h /dovecot/src/lib/process-title.c /dovecot/src/lib/restrict-process-size.c /dovecot/src/lib/sendfile-util.c /dovecot/src/lib/str.h /dovecot/src/lib/strfuncs.h /dovecot/src/lib/utc-offset.c /dovecot/src/lib/var-expand.c /dovecot/src/login-common/main.c /dovecot/src/login-common/master.c /dovecot/src/login-common/ssl-proxy-gnutls.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/login-common/ssl-proxy.c /dovecot/src/master/auth-process.c /dovecot/src/master/child-process.c /dovecot/src/master/dict-process.c /dovecot/src/master/log.c /dovecot/src/master/login-process.c /dovecot/src/master/mail-process.c /dovecot/src/master/mail-process.h /dovecot/src/master/main.c /dovecot/src/master/master-settings.c /dovecot/src/master/ssl-init-main.c /dovecot/src/master/ssl-init.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts-squat/squat-test.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/quota/quota-dict.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/zlib/istream-zlib.c /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3-login/client.c /dovecot/src/pop3/client.c /dovecot/src/pop3/client.h /dovecot/src/pop3/commands.c /dovecot/src/pop3/main.c /dovecot/src/util/dovecotpw.c /dovecot/src/util/listview.c
c25356d5978632df6203437e1953bcb29e0c736f 16-Sep-2007 Timo Sirainen <tss@iki.fi>

Changed .h ifdef/defines to use <NAME>_H format. --HG-- branch : HEAD

/dovecot/src/auth/auth-cache.h /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-client-interface.h /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-master-interface.h /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-stream.h /dovecot/src/auth/auth-worker-client.h /dovecot/src/auth/auth-worker-server.h /dovecot/src/auth/auth.h /dovecot/src/auth/common.h /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/db-sql.h /dovecot/src/auth/mech.h /dovecot/src/auth/mycrypt.h /dovecot/src/auth/otp-skey-common.h /dovecot/src/auth/passdb-blocking.h /dovecot/src/auth/passdb-cache.h /dovecot/src/auth/passdb.h /dovecot/src/auth/password-scheme.h /dovecot/src/auth/plain-common.h /dovecot/src/auth/userdb-blocking.h /dovecot/src/auth/userdb-static.h /dovecot/src/auth/userdb-vpopmail.h /dovecot/src/auth/userdb.h /dovecot/src/deliver/auth-client.h /dovecot/src/deliver/deliver.h /dovecot/src/deliver/duplicate.h /dovecot/src/deliver/mail-send.h /dovecot/src/deliver/smtp-client.h /dovecot/src/dict/dict-cache.h /dovecot/src/dict/dict-server.h /dovecot/src/imap-login/client-authenticate.h /dovecot/src/imap-login/client.h /dovecot/src/imap-login/imap-proxy.h /dovecot/src/imap/client.h /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.h /dovecot/src/imap/common.h /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-messageset.h /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sort.h /dovecot/src/imap/imap-status.h /dovecot/src/imap/imap-sync.h /dovecot/src/imap/imap-thread.h /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-auth/auth-server-request.h /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-dict/dict-client.h /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.h /dovecot/src/lib-dict/dict.h /dovecot/src/lib-imap/imap-base-subject.h /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-date.h /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-quote.h /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-hash.h /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/mailbox-list-index-private.h /dovecot/src/lib-index/mailbox-list-index.h /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-mail/message-address.h /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-decoder.h /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-id.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.h /dovecot/src/lib-mail/message-search.h /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-mail/quoted-printable.h /dovecot/src/lib-mail/rfc822-parser.h /dovecot/src/lib-ntlm/ntlm-byteorder.h /dovecot/src/lib-ntlm/ntlm-des.h /dovecot/src/lib-ntlm/ntlm-encrypt.h /dovecot/src/lib-ntlm/ntlm-flags.h /dovecot/src/lib-ntlm/ntlm-message.h /dovecot/src/lib-ntlm/ntlm-types.h /dovecot/src/lib-ntlm/ntlm.h /dovecot/src/lib-otp/otp-dictionary.h /dovecot/src/lib-otp/otp-hash.h /dovecot/src/lib-otp/otp-parity.h /dovecot/src/lib-otp/otp-parse.h /dovecot/src/lib-otp/otp.h /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-sql/sql-api.h index/cydir/cydir-storage.h index/cydir/cydir-sync.h index/dbox/dbox-file.h index/dbox/dbox-index.h index/dbox/dbox-storage.h index/dbox/dbox-sync.h index/index-mail.h index/index-sort.h index/index-storage.h index/index-sync-changes.h index/maildir/maildir-filename.h index/maildir/maildir-keywords.h index/maildir/maildir-storage.h index/maildir/maildir-sync.h index/maildir/maildir-uidlist.h index/mbox/istream-raw-mbox.h index/mbox/mbox-file.h index/mbox/mbox-from.h index/mbox/mbox-lock.h index/mbox/mbox-md5.h index/mbox/mbox-storage.h index/mbox/mbox-sync-private.h list/index-mailbox-list.h list/mailbox-list-fs.h list/mailbox-list-maildir.h list/mailbox-list-subscriptions.h list/subscription-file.h mail-copy.h mail-error.h mail-namespace.h mail-search.h mail-storage-private.h mail-storage.h mailbox-list-private.h mailbox-list.h mailbox-tree.h /dovecot/src/lib/array-decl.h /dovecot/src/lib/array.h /dovecot/src/lib/backtrace-string.h /dovecot/src/lib/base64.h /dovecot/src/lib/bsearch-insert-pos.h /dovecot/src/lib/buffer.h /dovecot/src/lib/close-keep-errno.h /dovecot/src/lib/compat.h /dovecot/src/lib/crc32.h /dovecot/src/lib/data-stack.h /dovecot/src/lib/env-util.h /dovecot/src/lib/failures.h /dovecot/src/lib/fd-close-on-exec.h /dovecot/src/lib/fd-set-nonblock.h /dovecot/src/lib/fdpass.h /dovecot/src/lib/file-cache.h /dovecot/src/lib/file-copy.h /dovecot/src/lib/file-dotlock.h /dovecot/src/lib/file-lock.h /dovecot/src/lib/file-set-size.h /dovecot/src/lib/hash.h /dovecot/src/lib/hex-binary.h /dovecot/src/lib/hex-dec.h /dovecot/src/lib/hmac-md5.h /dovecot/src/lib/home-expand.h /dovecot/src/lib/hostpid.h /dovecot/src/lib/imem.h /dovecot/src/lib/ioloop-internal.h /dovecot/src/lib/ioloop-iolist.h /dovecot/src/lib/ioloop-notify-fd.h /dovecot/src/lib/ioloop.h /dovecot/src/lib/iostream-internal.h /dovecot/src/lib/istream-internal.h /dovecot/src/lib/istream-seekable.h /dovecot/src/lib/istream-tee.h /dovecot/src/lib/istream.h /dovecot/src/lib/lib-signals.h /dovecot/src/lib/lib.h /dovecot/src/lib/macros.h /dovecot/src/lib/md4.h /dovecot/src/lib/md5.h /dovecot/src/lib/mempool.h /dovecot/src/lib/mkdir-parents.h /dovecot/src/lib/mmap-util.h /dovecot/src/lib/module-context.h /dovecot/src/lib/module-dir.h /dovecot/src/lib/mountpoint.h /dovecot/src/lib/network.h /dovecot/src/lib/nfs-workarounds.h /dovecot/src/lib/ostream-crlf.h /dovecot/src/lib/ostream-internal.h /dovecot/src/lib/ostream.h /dovecot/src/lib/primes.h /dovecot/src/lib/printf-format-fix.h /dovecot/src/lib/process-title.h /dovecot/src/lib/randgen.h /dovecot/src/lib/read-full.h /dovecot/src/lib/restrict-access.h /dovecot/src/lib/restrict-process-size.h /dovecot/src/lib/safe-memset.h /dovecot/src/lib/safe-mkdir.h /dovecot/src/lib/safe-mkstemp.h /dovecot/src/lib/sendfile-util.h /dovecot/src/lib/seq-range-array.h /dovecot/src/lib/sha1.h /dovecot/src/lib/str-find.h /dovecot/src/lib/str-sanitize.h /dovecot/src/lib/str.h /dovecot/src/lib/strescape.h /dovecot/src/lib/strfuncs.h /dovecot/src/lib/unichar.h /dovecot/src/lib/unix-socket-create.h /dovecot/src/lib/unlink-directory.h /dovecot/src/lib/unlink-lockfiles.h /dovecot/src/lib/utc-mktime.h /dovecot/src/lib/utc-offset.h /dovecot/src/lib/var-expand.h /dovecot/src/lib/write-full.h /dovecot/src/login-common/client-common.h /dovecot/src/login-common/common.h /dovecot/src/login-common/login-proxy.h /dovecot/src/login-common/master.h /dovecot/src/login-common/sasl-server.h /dovecot/src/login-common/ssl-proxy.h /dovecot/src/master/askpass.h /dovecot/src/master/auth-process.h /dovecot/src/master/capabilities.h /dovecot/src/master/child-process.h /dovecot/src/master/common.h /dovecot/src/master/dict-process.h /dovecot/src/master/dup2-array.h /dovecot/src/master/listener.h /dovecot/src/master/log.h /dovecot/src/master/login-process.h /dovecot/src/master/mail-process.h /dovecot/src/master/master-login-interface.h /dovecot/src/master/master-settings.h /dovecot/src/master/ssl-init.h /dovecot/src/master/syslog-util.h /dovecot/src/plugins/acl/acl-api-private.h /dovecot/src/plugins/acl/acl-api.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-cache.h /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/convert/convert-plugin.h /dovecot/src/plugins/convert/convert-storage.h /dovecot/src/plugins/expire/auth-client.h /dovecot/src/plugins/expire/expire-env.h /dovecot/src/plugins/expire/expire-plugin.h /dovecot/src/plugins/fts-lucene/fts-lucene-plugin.h /dovecot/src/plugins/fts-lucene/lucene-wrapper.h /dovecot/src/plugins/fts-squat/fts-squat-plugin.h /dovecot/src/plugins/fts-squat/squat-trie-private.h /dovecot/src/plugins/fts-squat/squat-trie.h /dovecot/src/plugins/fts-squat/squat-uidlist.h /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-api.h /dovecot/src/plugins/fts/fts-plugin.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.h /dovecot/src/plugins/mail-log/mail-log-plugin.h /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.h /dovecot/src/plugins/quota/quota-fs.h /dovecot/src/plugins/quota/quota-plugin.h /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota.h /dovecot/src/plugins/trash/trash-plugin.h /dovecot/src/plugins/zlib/istream-zlib.h /dovecot/src/plugins/zlib/zlib-plugin.h /dovecot/src/pop3-login/client-authenticate.h /dovecot/src/pop3-login/client.h /dovecot/src/pop3-login/pop3-proxy.h /dovecot/src/pop3/capability.h /dovecot/src/pop3/client.h /dovecot/src/pop3/commands.h /dovecot/src/pop3/common.h
61f5256ef248d35459b53534ae428bf6d016e1c5 02-Sep-2007 Timo Sirainen <tss@iki.fi>

Changed mail_keywords creation APIs to take mailbox/index instead of transaction. --HG-- branch : HEAD

cb05ecbd96ddb5e53c1850d27434541138a3f284 02-Sep-2007 Timo Sirainen <tss@iki.fi>

mailbox_keywords_create() checks keyword validity now and returns failure if any of them are invalid. Added mailbox_keywords_create_valid() that only drops invalid keywords. Removed mbox and IMAP-specific keyword checks, they all use the same checking now. --HG-- branch : HEAD

0d86aa0d47f7393c669c084b34c0537b193688ad 13-Aug-2007 Timo Sirainen <tss@iki.fi>

Added mail.close() virtual function. --HG-- branch : HEAD

83bb013a99f0936995f9c7a1077822662d8fefdb 12-Aug-2007 Timo Sirainen <tss@iki.fi>

mail_*() APIs changed to return int and return the actual data as pointer. Changed some code to do error handling a bit better. --HG-- branch : HEAD

/dovecot/src/deliver/deliver.c /dovecot/src/deliver/mail-send.c /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-thread.c index/cydir/cydir-mail.c index/dbox/dbox-mail.c index/index-mail-headers.c index/index-mail.c index/index-mail.h index/index-search.c index/index-sort.c index/maildir/maildir-mail.c index/maildir/maildir-save.c index/mbox/mbox-mail.c mail-copy.c mail-storage-private.h mail-storage.h mail.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/mail-log/mail-log-plugin.c /dovecot/src/plugins/quota/quota-count.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c
c979eeda1f46483d9c963e265786b701d7683d77 12-Aug-2007 Timo Sirainen <tss@iki.fi>

mail_index_view_sync_next() and mailbox_sync_next() returns now bool. Renamed void mailbox_index_view_sync_end() to int mailbox_index_view_sync_commit(). --HG-- branch : HEAD

73b50eecfc31750a312e2f940023f522eb07178c 12-Aug-2007 Timo Sirainen <tss@iki.fi>

mail_index_lookup*() can't fail anymore. Changed several APIs not to return failure anymore. --HG-- branch : HEAD

/dovecot/src/deliver/deliver.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-sync.c /dovecot/src/imap/imap-thread.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.h index/cydir/cydir-save.c index/dbox/dbox-file.c index/dbox/dbox-save.c index/index-mail.c index/index-mail.h index/index-search.c index/index-sort.c index/index-sort.h index/maildir/maildir-save.c index/maildir/maildir-sync-index.c index/mbox/mbox-file.c index/mbox/mbox-save.c index/mbox/mbox-sync-parse.c index/mbox/mbox-sync-private.h index/mbox/mbox-sync.c list/index-mailbox-list-sync.c list/index-mailbox-list.c mail-storage-private.h mail-storage.h mail.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/mail-log/mail-log-plugin.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/pop3/commands.c
88187ee880b4829443e0d55ea7d145d9d5880217 12-Aug-2007 Timo Sirainen <tss@iki.fi>

Removed explicit locking from views and maps. They were already locked all the time when they were used. Because of this change several functions can no longer fail, so they were changed to return void, and a lot of pointless error handling was removed. --HG-- branch : HEAD

/dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/imap-search.c /dovecot/src/imap/imap-status.c /dovecot/src/imap/imap-sync.c /dovecot/src/imap/imap-thread.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-decisions.c /dovecot/src/lib-index/mail-index-map.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync-keywords.c /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mailbox-list-index-sync.c index/cydir/cydir-sync.c index/dbox/dbox-mail.c index/dbox/dbox-sync-expunge.c index/dbox/dbox-sync-full.c index/dbox/dbox-sync.c index/index-fetch.c index/index-mail.c index/index-search.c index/index-status.c index/index-storage.c index/index-storage.h index/index-sync-changes.c index/index-sync.c index/index-transaction.c index/maildir/maildir-sync-index.c index/maildir/maildir-sync.c index/mbox/mbox-sync-parse.c index/mbox/mbox-sync.c list/index-mailbox-list-sync.c list/index-mailbox-list.c mail-storage-private.h mail-storage.c mail-storage.h /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c
ccec5f82349eae44087900c0e64ed1fd5a1a6fca 12-Aug-2007 Timo Sirainen <tss@iki.fi>

mailbox_transaction_commit_get_uids() now returns also UIDVALIDITY. It's the only usable way to get it returned correctly. Removed maildir-specific mailbox_get_status() handling, it's supposed to return the current state of the mailbox, not the latest state. It was useful only for returning non-zero UIDVALIDITY for newly created mailboxes, and that's no longer needed. --HG-- branch : HEAD

dce5a2719df4fc64a8762d2aa94ba98dcf9cd6fe 19-Jul-2007 Timo Sirainen <tss@iki.fi>

Added mail_get_first_header_utf8() and mail_get_headers_utf8(). --HG-- branch : HEAD

d3442384ca53d4b18a493db7dd0b000f470419cf 18-Jul-2007 Timo Sirainen <tss@iki.fi>

Moved mailbox list index sync stamp checking and updating to storage-specific code. --HG-- branch : HEAD

f23ede27743c1aa03eacbfc634d6a10de9110c91 17-Jul-2007 Timo Sirainen <tss@iki.fi>

Moved private_flags_mask to struct mailbox. --HG-- branch : HEAD

2dd39e478269d6fb0bb26d12b394aa30ee965e38 15-Jul-2007 Timo Sirainen <tss@iki.fi>

mail_storage.create() now returns error message string. Also fixed handling "/" and empty root paths. --HG-- branch : HEAD

910fa4e4204a73d3d24c03f3059dd24e727ca057 13-May-2007 Timo Sirainen <tss@iki.fi>

Added MAIL_ERROR_EXPUNGED. Set the error whenever expunged message is tried to be accessed. --HG-- branch : HEAD

ff7056842f14fd3b30a2d327dfab165b9d15dd30 13-May-2007 Timo Sirainen <tss@iki.fi>

Error handling rewrite. --HG-- branch : HEAD

/dovecot/src/deliver/deliver.c /dovecot/src/imap/cmd-fetch.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/imap-search.c Makefile.am index/cydir/cydir-save.c index/cydir/cydir-storage.c index/dbox/dbox-save.c index/dbox/dbox-storage.c index/dbox/dbox-uidlist.c index/index-search.c index/maildir/maildir-copy.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-uidlist.c index/maildir/maildir-util.c index/mbox/mbox-file.c index/mbox/mbox-lock.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-sync.c list/mailbox-list-fs-iter.c list/mailbox-list-fs.c list/mailbox-list-maildir.c list/subscription-file.c mail-error.c mail-error.h mail-storage-private.h mail-storage.c mail-storage.h mailbox-list-private.h mailbox-list.c mailbox-list.h /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/pop3/client.c
cb44b8fd1fa5cac5a451c39245c878e1307c332c 13-May-2007 Timo Sirainen <tss@iki.fi>

lib-storage doesn't need the ability to return syntax errors. They should be checked before lib-storage is called. --HG-- branch : HEAD

4d2211dac61c615c5bdfd501ea54d46c89d41b0f 17-Apr-2007 Timo Sirainen <tss@iki.fi>

Added mailbox_transaction_commit_get_uids() which returns the UID range for saved/copied messages. --HG-- branch : HEAD

4b41116563110d00330896a568eff1078c382827 17-Apr-2007 Timo Sirainen <tss@iki.fi>

Call sync_notify() once at the end of syncing. Allow accessing mails even while syncing, as long as it's safe to do so. --HG-- branch : HEAD

5137d2d80255938a0f5fb8f3c1a21b34cf11ada3 17-Apr-2007 Timo Sirainen <tss@iki.fi>

Added sync_notify() callback to struct mail_storage. It's now called for expunges and flag/keyword changes (except with cydir). --HG-- branch : HEAD

e8490a52a1bc71bc53034e68f464435684ad810f 03-Apr-2007 Timo Sirainen <tss@iki.fi>

Moved namespace handling to lib-storage. Beginnings of namespace support for non-IMAP parts of Dovecot. --HG-- branch : HEAD

7ff5401b623d3a6da5e82b63da97587d65f73349 30-Mar-2007 Timo Sirainen <tss@iki.fi>

Removed virtual mail_storage.get_last_error(). The implementation is always the same. --HG-- branch : HEAD

f81f4bc282cd1944cec187bae89c0701a416ed2a 30-Mar-2007 Timo Sirainen <tss@iki.fi>

Moved notify settings to struct mailbox. Removed the parameters from notify_changes(), they're now set before calling it. --HG-- branch : HEAD

1108376e39a19912e8394e64e19b1bc6f6691cf6 30-Mar-2007 Timo Sirainen <tss@iki.fi>

Moved all storage destruction code to mail-storage.c and made destroy() optional. Removed set_callbacks(). Made autodetect() optional. --HG-- branch : HEAD

0a3b01714dadf97dcc7439ad4eeba690ab044966 30-Mar-2007 Timo Sirainen <tss@iki.fi>

Removed mail_storage_create_with_data(). mail_storage_create() with driver=NULL behaves the same way. Removed parameters from mail_storage.create(), they're now put into the storage structure before calling create(). --HG-- branch : HEAD

f7539a17ea306191b53b8f5e752e228937df9ec3 30-Mar-2007 Timo Sirainen <tss@iki.fi>

Added virtual mail_storage.alloc() function and changed create() to work differently. --HG-- branch : HEAD

ccc895c0358108d2304239063e940b7d75f364ab 30-Mar-2007 Timo Sirainen <tss@iki.fi>

Removed struct index_storage abstraction. It's pointless. --HG-- branch : HEAD

index/cydir/cydir-save.c index/cydir/cydir-storage.c index/cydir/cydir-storage.h index/cydir/cydir-sync.c index/dbox/dbox-file.c index/dbox/dbox-keywords.c index/dbox/dbox-mail.c index/dbox/dbox-save.c index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/dbox/dbox-sync-expunge.c index/dbox/dbox-sync-full.c index/dbox/dbox-sync.c index/dbox/dbox-uidlist.c index/index-storage.c index/index-storage.h index/maildir/maildir-copy.c index/maildir/maildir-keywords.c index/maildir/maildir-mail.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-sync.c index/maildir/maildir-uidlist.c index/maildir/maildir-util.c index/mbox/mbox-file.c index/mbox/mbox-lock.c index/mbox/mbox-mail.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-sync-rewrite.c index/mbox/mbox-sync.c mail-storage-private.h
8e371a3ce32bd64288786855b8ce0cb63f19f7d1 29-Mar-2007 Timo Sirainen <tss@iki.fi>

Better type safety to module_contexts arrays. Already fixed some bugs. --HG-- branch : HEAD

/dovecot/src/imap/imap-thread.c index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/dbox/dbox-transaction.c index/index-storage.c index/index-storage.h index/index-transaction.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-transaction.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-transaction.c list/index-mailbox-list-sync.c list/index-mailbox-list.c list/index-mailbox-list.h mail-storage-private.h mail-storage.c mailbox-list-private.h mailbox-list.c /dovecot/src/lib/Makefile.am /dovecot/src/lib/module-context.h /dovecot/src/plugins/acl/Makefile.am /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/fts-lucene/Makefile.am /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-lucene/fts-lucene-plugin.c /dovecot/src/plugins/fts-lucene/fts-lucene-plugin.h /dovecot/src/plugins/fts-squat/Makefile.am /dovecot/src/plugins/fts/Makefile.am /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/mail-log/mail-log-plugin.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/Makefile.am /dovecot/src/plugins/zlib/zlib-plugin.c
b039dabf4c53f72454e795930e7643b6e0e625f9 29-Mar-2007 Timo Sirainen <tss@iki.fi>

Moved delete/rename operations to mailbox_list API. Fixed mbox/maildir to work with either fs/maildir++ directory layout. They can be changed by appending :LAYOUT=fs|maildir++ to mail_location. --HG-- branch : HEAD

/dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-rename.c index/dbox/dbox-file.c index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/dbox/dbox-sync-expunge.c index/dbox/dbox-sync-full.c index/dbox/dbox-uidlist.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/mbox/mbox-storage.c list/index-mailbox-list-sync.c list/mailbox-list-fs-iter.c list/mailbox-list-fs.c list/mailbox-list-maildir-iter.c list/mailbox-list-maildir.c mail-storage-private.h mail-storage.c mail-storage.h mailbox-list-private.h mailbox-list.c mailbox-list.h /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/mail-log/mail-log-plugin.c /dovecot/src/plugins/quota/quota-plugin.c /dovecot/src/plugins/quota/quota-plugin.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c
c5ab90cfad9cc3e33bcb1baeb30ffc82a7b7053a 21-Dec-2006 Timo Sirainen <tss@iki.fi>

Moved storage callbacks to struct mail_storage. If searching takes over 10 seconds, start giving estimates about when it's ready. --HG-- branch : HEAD

42507d758b053bb483de58fba55c73a9eb5d3fba 20-Dec-2006 Timo Sirainen <tss@iki.fi>

Dovecot is now able to execute multiple commands at the same time. Practically this means commands: FETCH, LIST, SEARCH and syncing output for all commands. For example it's possible that doing two FETCH commands at the same time makes their output mixed together. Non-blocking SEARCH is done by doing search for 20 mails at a time, and then checking if another command is pending. Also added X-CANCEL <tag> command to cancel running commands. --HG-- branch : HEAD

d9fdacd5fb3e07997e5c389739d2054f0c8441d8 06-Dec-2006 Timo Sirainen <tss@iki.fi>

Lock handling changes. Everything goes through file-lock API now and there's only a single enum listing the different lock methods. This change exposed some unneeded (or possibly even wrong?) unlock calls in index file handling which were fixed. --HG-- branch : HEAD

/dovecot/src/deliver/deliver.c /dovecot/src/imap/namespace.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-hash.c /dovecot/src/lib-index/mail-index-lock.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log.c index/dbox/dbox-storage.c index/index-storage.c index/index-storage.h index/maildir/maildir-storage.c index/mbox/mbox-lock.c index/mbox/mbox-storage.c list/index-mailbox-list.c mail-storage-private.h mail-storage.c mail-storage.h mailbox-list.c mailbox-list.h /dovecot/src/lib/file-lock.c /dovecot/src/lib/file-lock.h /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/pop3/main.c
7931dfb5a1d28278f2b7fe4f0d72fce26c501714 01-Dec-2006 Timo Sirainen <tss@iki.fi>

Removed get_mailbox_control_dir and get_mailbox_index_dir virtual functions from mail_storage, since they're already in mailbox_list.get_path(). Updated mbox to override that function to return index/control dirs with the ".imap/" in the middle. --HG-- branch : HEAD

5fb3bff645380804c9db2510940c41db6b8fdb01 25-Nov-2006 Timo Sirainen <tss@iki.fi>

Mailbox list indexing and related changes. Currently works only with maildir and mmap_disable=no. This allows doing STATUS to synced mailboxes without opening their index files at all. --HG-- branch : HEAD

/dovecot/src/deliver/deliver.c /dovecot/src/imap/Makefile.am /dovecot/src/imap/cmd-list.c /dovecot/src/imap/common.h /dovecot/src/imap/imap-sync.c /dovecot/src/imap/imap-thread.c /dovecot/src/imap/main.c /dovecot/src/imap/namespace.c /dovecot/src/lib-index/Makefile.am /dovecot/src/lib-index/mailbox-list-index-private.h /dovecot/src/lib-index/mailbox-list-index-sync.c /dovecot/src/lib-index/mailbox-list-index.c /dovecot/src/lib-index/mailbox-list-index.h index/dbox/dbox-storage.c index/dbox/dbox-sync.c index/dbox/dbox-transaction.c index/index-status.c index/index-storage.c index/index-storage.h index/index-sync.c index/maildir/maildir-copy.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-sync.c index/maildir/maildir-sync.h index/maildir/maildir-transaction.c index/maildir/maildir-util.c index/mbox/mbox-storage.c index/mbox/mbox-sync.c index/mbox/mbox-transaction.c list/Makefile.am list/index-mailbox-list-sync.c list/index-mailbox-list.c list/index-mailbox-list.h list/mailbox-list-fs-iter.c list/mailbox-list-fs.c list/mailbox-list-fs.h list/mailbox-list-maildir-iter.c list/mailbox-list-maildir.c list/mailbox-list-maildir.h mail-storage-private.h mail-storage.c mail-storage.h mailbox-list-private.h mailbox-list.c mailbox-list.h mailbox-tree.c register/Makefile.am /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/pop3/client.c /dovecot/src/pop3/common.h /dovecot/src/pop3/main.c
57a8c6a95e4bce3eeaba36985adb81c07dd683ff 18-Nov-2006 Timo Sirainen <tss@iki.fi>

const fix --HG-- branch : HEAD

a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3 16-Nov-2006 Timo Sirainen <tss@iki.fi>

Initial code for separation of mailbox accessing and directory layout handling. It's not yet possible to change the default layouts though. --HG-- branch : HEAD

/dovecot/configure.in /dovecot/src/deliver/Makefile.am /dovecot/src/imap/Makefile.am /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-subscribe.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/main.c Makefile.am index/dbox/Makefile.am index/dbox/dbox-list.c index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/index-storage.c index/index-storage.h index/maildir/Makefile.am index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-uidlist.c index/mbox/Makefile.am index/mbox/mbox-list.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h list/.cvsignore list/mailbox-list-fs-iter.c list/mailbox-list-fs.c list/mailbox-list-fs.h list/mailbox-list-maildir-iter.c list/mailbox-list-maildir.c list/mailbox-list-maildir.h list/subscription-file.c list/subscription-file.h mail-storage-private.h mail-storage.c mail-storage.h mailbox-list-private.h mailbox-list.c mailbox-list.h mailbox-tree.h register/.cvsignore register/Makefile.am subscription-file/Makefile.am /dovecot/src/plugins/acl/Makefile.am /dovecot/src/plugins/acl/acl-plugin.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/convert/Makefile.am /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/expire/Makefile.am /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/pop3/Makefile.am
e63bdfedcf61e1a9ee21990140cbd0d0638da7e1 17-Sep-2006 Timo Sirainen <tss@iki.fi>

Moved some search parameters to public struct mail_search_context and added module_contexts array. --HG-- branch : HEAD

b811d88426068f2b959642e20348bfeeb9a6356d 17-Sep-2006 Timo Sirainen <tss@iki.fi>

Added mail_storage_get_mailbox_index_dir(). --HG-- branch : HEAD

15b9759df8e4f6fb00c115353827a2aebbebfebc 11-Jul-2006 Timo Sirainen <tss@iki.fi>

Added hook_mailbox_opened to make it easier to hook all mailbox opens. --HG-- branch : HEAD

90adcaa0a00eba29b7fbd50ca66be11c8d086d6a 29-Jun-2006 Timo Sirainen <timo.sirainen@movial.fi>

Added mail_get_save_date() and some cleanups. --HG-- branch : HEAD

d6badc27cd6e8d3398877b6766cb0aaeef3a7800 28-Jun-2006 Timo Sirainen <timo.sirainen@movial.fi>

Beginnings of joining mail-storage API more closely to mail-index, so that mail-index could be directly used if needed. Currently only transactions are joined. --HG-- branch : HEAD

8d80659e504ffb34bb0c6a633184fece35751b18 28-Jun-2006 Timo Sirainen <tss@iki.fi>

Array API redesigned to work using unions. It now provides type safety without having to enable DEBUG, as long as the compiler supports typeof(). Its API changed a bit. It now allows directly accessing the array contents, although that's not necessarily recommended. Changed existing array usage to be type safe in a bit more places. Removed array_t completely. Also did s/modifyable/modifiable/. --HG-- branch : HEAD

/dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/mech-gssapi.c /dovecot/src/auth/userdb-static.c /dovecot/src/dict/dict-server.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-list.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-dict/dict.c /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-append.c /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-header-search.c /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-sql/sql-api.c index/dbox/dbox-keywords.c index/dbox/dbox-save.c index/dbox/dbox-storage.h index/dbox/dbox-sync-expunge.c index/dbox/dbox-sync-full.c index/dbox/dbox-sync.c index/dbox/dbox-sync.h index/dbox/dbox-uidlist.c index/dbox/dbox-uidlist.h index/index-mail-headers.c index/index-mail.c index/index-mail.h index/index-sort.c index/index-storage.h index/index-sync.c index/maildir/maildir-keywords.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-sync.c index/maildir/maildir-uidlist.c index/mbox/mbox-save.c index/mbox/mbox-sync-parse.c index/mbox/mbox-sync-private.h index/mbox/mbox-sync-rewrite.c index/mbox/mbox-sync-update.c index/mbox/mbox-sync.c mail-storage-private.h mail-storage.c mail-storage.h /dovecot/src/lib/array-decl.h /dovecot/src/lib/array.h /dovecot/src/lib/buffer.c /dovecot/src/lib/buffer.h /dovecot/src/lib/ioloop-epoll.c /dovecot/src/lib/istream.c /dovecot/src/lib/istream.h /dovecot/src/lib/lib.h /dovecot/src/lib/module-dir.c /dovecot/src/lib/seq-range-array.c /dovecot/src/lib/seq-range-array.h /dovecot/src/lib/str.c /dovecot/src/lib/str.h /dovecot/src/master/mail-process.c /dovecot/src/master/master-settings.h /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/acl/acl-cache.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/zlib/zlib-plugin.c
5505efe43cc7d5058561cda8882487b7971f8ad9 17-Jun-2006 Timo Sirainen <tss@iki.fi>

When creating a mailbox, limit the number of hierarchies (to 20) and the length of the mailbox name within a hierarchy (to 200). --HG-- branch : HEAD

a04cd96888653891272a512f7735121193af7b35 08-Jun-2006 Timo Sirainen <timo.sirainen@movial.fi>

Changed mail-storage API to do the mail sorting internally. Optimized it internally to keep a 32bit sort_id field in index for each used primary sort condition. Practically this should mean less disk I/O, memory and CPU usage when SORT command is used. --HG-- branch : HEAD

a12399903f415a7e14c2816cffa2f7a09dcbb097 15-May-2006 Timo Sirainen <timo.sirainen@movial.fi>

Added mail_set_uid() to select a mail by UID. --HG-- branch : HEAD

2ebeb22b9a8a8bb7fbe2f2e2908478a220792b87 09-May-2006 Timo Sirainen <timo.sirainen@movial.fi>

Changed mailbox_save_*() API a bit: Moved the struct mail *dest_mail to save_init() instead of being in save_finish(). This way you can request wanted fields from the mail while it's being saved. With maildir the message is being parsed at the same time as it's being saved, and the results are stored into cache file. --HG-- branch : HEAD

a3ee5ce6ecc8e228ee69300fdd562d7ac8be89a7 14-Apr-2006 Timo Sirainen <tss@iki.fi>

Optimized searching a bit for cases where we can restrict search range by simply looking at sequence sets. Also optimized some deleted/seen flag searches where no results would be found. Added search_next_update_seq() virtual method which allows plugins to restrict the search range (eg. allowing indexed text search plugins). --HG-- branch : HEAD

e4c90f0b88e40a8f92b8f5e1f1a3ea701e5c965c 27-Feb-2006 Timo Sirainen <timo.sirainen@movial.fi>

Moved mailbox_list_flags to struct mailbox_list_context so plugins can see the flags more easily. --HG-- branch : HEAD

4981827cb5e32cf767b7b0e3070137e6b36f42af 22-Feb-2006 Timo Sirainen <timo.sirainen@movial.fi>

mailbox_save_init() supports now returning failure. Quota plugin now checks if mail is too large in mailbox_save_init() hook. APPEND fails before giving "+ OK" reply if mailbox_save_init() failed. Also fixed some APPEND failure cases where the next command was eaten away. --HG-- branch : HEAD

defb12ecd360df672ffb2f4dbf4d1218a0a9549c 22-Feb-2006 Timo Sirainen <timo.sirainen@movial.fi>

Make life easier for plugins: - Added MAILBOX_OPEN_SAVEONLY flag for mailbox_open(), which is set when mailbox is opened only for append/copy - Added a couple of MAIL_STORAGE_ERR_* string defines that should be used when giving visible errors to clients - Added failed-flag for mailbox_list_context, which plugins can directly set to make mail_storage_mailbox_list_deinit() return failure - Added mail_storage_get_mailbox_path() and mail_storage_get_mailbox_control_dir() to return locations for mailbox directories Also be more strict when validating mailbox names. --HG-- branch : HEAD

6ef7e31619edfaa17ed044b45861d106a86191ef 13-Jan-2006 Timo Sirainen <tss@iki.fi>

Added "bool" type and changed all ints that were used as booleans to bool. --HG-- branch : HEAD

/dovecot/configure.in /dovecot/src/auth/auth-cache.c /dovecot/src/auth/auth-cache.h /dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/common.h /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/main.c /dovecot/src/auth/mech-apop.c /dovecot/src/auth/mech-cram-md5.c /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/mech-ntlm.c /dovecot/src/auth/mech-rpa.c /dovecot/src/auth/passdb-bsdauth.c /dovecot/src/auth/passdb-cache.c /dovecot/src/auth/passdb-cache.h /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/passdb-passwd.c /dovecot/src/auth/passdb-shadow.c /dovecot/src/auth/passdb.h /dovecot/src/auth/password-scheme.c /dovecot/src/auth/password-scheme.h /dovecot/src/auth/userdb-ldap.c /dovecot/src/auth/userdb-prefetch.c /dovecot/src/auth/userdb.h /dovecot/src/imap-login/client-authenticate.c /dovecot/src/imap-login/client-authenticate.h /dovecot/src/imap-login/client.c /dovecot/src/imap-login/client.h /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-authenticate.c /dovecot/src/imap/cmd-capability.c /dovecot/src/imap/cmd-check.c /dovecot/src/imap/cmd-close.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-create.c /dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-examine.c /dovecot/src/imap/cmd-expunge.c /dovecot/src/imap/cmd-fetch.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-login.c /dovecot/src/imap/cmd-logout.c /dovecot/src/imap/cmd-lsub.c /dovecot/src/imap/cmd-namespace.c /dovecot/src/imap/cmd-noop.c /dovecot/src/imap/cmd-rename.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-sort.c /dovecot/src/imap/cmd-status.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/cmd-subscribe.c /dovecot/src/imap/cmd-thread.c /dovecot/src/imap/cmd-uid.c /dovecot/src/imap/cmd-unselect.c /dovecot/src/imap/cmd-unsubscribe.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.c /dovecot/src/imap/commands.h /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-search.c /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sort.c /dovecot/src/imap/imap-sync.c /dovecot/src/imap/imap-sync.h /dovecot/src/imap/imap-thread.c /dovecot/src/imap/namespace.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-auth/auth-server-request.c /dovecot/src/lib-auth/auth-server-request.h /dovecot/src/lib-charset/charset-iconv.c /dovecot/src/lib-charset/charset-utf8.c /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-dict/dict.c /dovecot/src/lib-dict/dict.h /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-imap/imap-base-subject.h /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-date.c /dovecot/src/lib-imap/imap-date.h /dovecot/src/lib-imap/imap-envelope.c /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-imap/imap-match.c /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-quote.c /dovecot/src/lib-imap/imap-quote.h /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-lock.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-append.c /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log-view.c /dovecot/src/lib-index/mail-transaction-log.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-address.c /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-body-search.h /dovecot/src/lib-mail/message-content-parser.c /dovecot/src/lib-mail/message-content-parser.h /dovecot/src/lib-mail/message-date.c /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-search.c /dovecot/src/lib-mail/message-header-search.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.c /dovecot/src/lib-mail/message-send.c /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.c /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-ntlm/ntlm-encrypt.c /dovecot/src/lib-ntlm/ntlm-message.c /dovecot/src/lib-ntlm/ntlm-message.h /dovecot/src/lib-ntlm/ntlm.h /dovecot/src/lib-settings/settings.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c index/dbox/dbox-list.c index/dbox/dbox-mail.c index/dbox/dbox-save.c index/dbox/dbox-storage.c index/dbox/dbox-storage.h index/dbox/dbox-sync-expunge.c index/dbox/dbox-sync.c index/dbox/dbox-sync.h index/dbox/dbox-uidlist.c index/index-mail-headers.c index/index-mail.c index/index-mailbox-check.c index/index-search.c index/index-storage.c index/index-storage.h index/index-sync.c index/maildir/maildir-copy.c index/maildir/maildir-list.c index/maildir/maildir-mail.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-sync.c index/maildir/maildir-uidlist.c index/maildir/maildir-uidlist.h index/mbox/istream-raw-mbox.c index/mbox/istream-raw-mbox.h index/mbox/mbox-file.c index/mbox/mbox-file.h index/mbox/mbox-list.c index/mbox/mbox-lock.c index/mbox/mbox-mail.c index/mbox/mbox-md5.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-sync-parse.c index/mbox/mbox-sync-private.h index/mbox/mbox-sync-rewrite.c index/mbox/mbox-sync-update.c index/mbox/mbox-sync.c index/mbox/mbox-transaction.c mail-search.c mail-search.h mail-storage-private.h mail-storage.c mail-storage.h mailbox-tree.c mailbox-tree.h subscription-file/subscription-file.c subscription-file/subscription-file.h /dovecot/src/lib/array.h /dovecot/src/lib/buffer.c /dovecot/src/lib/buffer.h /dovecot/src/lib/compat.h /dovecot/src/lib/data-stack.c /dovecot/src/lib/data-stack.h /dovecot/src/lib/fd-close-on-exec.c /dovecot/src/lib/fd-close-on-exec.h /dovecot/src/lib/fd-set-nonblock.c /dovecot/src/lib/fd-set-nonblock.h /dovecot/src/lib/file-dotlock.c /dovecot/src/lib/file-dotlock.h /dovecot/src/lib/hash.c /dovecot/src/lib/hash.h /dovecot/src/lib/hex-binary.c /dovecot/src/lib/ioloop-epoll.c /dovecot/src/lib/ioloop-notify-dn.c /dovecot/src/lib/ioloop-notify-inotify.c /dovecot/src/lib/ioloop-poll.c /dovecot/src/lib/ioloop.c /dovecot/src/lib/ioloop.h /dovecot/src/lib/istream-data.c /dovecot/src/lib/istream-file.c /dovecot/src/lib/istream-internal.h /dovecot/src/lib/istream-limit.c /dovecot/src/lib/istream-mmap.c /dovecot/src/lib/istream-seekable.c /dovecot/src/lib/istream.c /dovecot/src/lib/istream.h /dovecot/src/lib/lib-signals.c /dovecot/src/lib/lib-signals.h /dovecot/src/lib/mempool-alloconly.c /dovecot/src/lib/module-dir.c /dovecot/src/lib/module-dir.h /dovecot/src/lib/network.c /dovecot/src/lib/network.h /dovecot/src/lib/ostream-crlf.c /dovecot/src/lib/ostream-file.c /dovecot/src/lib/ostream-internal.h /dovecot/src/lib/ostream.c /dovecot/src/lib/ostream.h /dovecot/src/lib/printf-upper-bound.c /dovecot/src/lib/restrict-access.c /dovecot/src/lib/restrict-access.h /dovecot/src/lib/restrict-process-size.h /dovecot/src/lib/seq-range-array.c /dovecot/src/lib/seq-range-array.h /dovecot/src/lib/strfuncs.c /dovecot/src/lib/strfuncs.h /dovecot/src/lib/unlink-directory.c /dovecot/src/lib/unlink-directory.h /dovecot/src/lib/var-expand.c /dovecot/src/login-common/client-common.c /dovecot/src/login-common/client-common.h /dovecot/src/login-common/common.h /dovecot/src/login-common/main.c /dovecot/src/login-common/master.c /dovecot/src/login-common/master.h /dovecot/src/login-common/sasl-server.c /dovecot/src/login-common/ssl-proxy-gnutls.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/login-common/ssl-proxy.c /dovecot/src/login-common/ssl-proxy.h /dovecot/src/master/auth-process.c /dovecot/src/master/common.h /dovecot/src/master/log.c /dovecot/src/master/login-process.c /dovecot/src/master/mail-process.c /dovecot/src/master/mail-process.h /dovecot/src/master/main.c /dovecot/src/master/master-login-interface.h /dovecot/src/master/master-settings.c /dovecot/src/master/master-settings.h /dovecot/src/master/ssl-init.c /dovecot/src/master/syslog-util.c /dovecot/src/master/syslog-util.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/quota/quota-dict.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/quota/quota.h /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/zlib/istream-zlib.c /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3-login/client-authenticate.h /dovecot/src/pop3-login/client.c /dovecot/src/pop3-login/client.h /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c /dovecot/src/pop3/common.h /dovecot/src/pop3/main.c /dovecot/src/util/rawlog.c
e05a4c4136fec723f019bee8383103080203f127 10-Dec-2005 Timo Sirainen <tss@iki.fi>

Added module_contexts to transactions. --HG-- branch : HEAD

c13f3df87bc8ec1fb279fc0ffa6e8517f74dc07c 06-Oct-2005 Timo Sirainen <tss@iki.fi>

Added flags and keywords parameters to mailbox_copy() in case they're wanted to be changed while copying. --HG-- branch : HEAD

ab0155cbec1286e1cd00a0e01d78e0f3ca34cea6 29-Jul-2005 Timo Sirainen <tss@iki.fi>

Added separate "temporary error" flag for mail_storage_get_last_error(). --HG-- branch : HEAD

bf661a542d17273066e720b4f75868a1ff975a4c 03-Apr-2005 Timo Sirainen <tss@iki.fi>

Moved several getenv()s from lib-storage to main code. deliver binary was missing several getenvs.. --HG-- branch : HEAD

87460b08cb97b31cde640d4975a6aa2c1d0e7226 29-Mar-2005 Timo Sirainen <tss@iki.fi>

Renamed mail_get_header() to mail_get_first_header() and mail_gets_headers() to mail_get_header_stream(). Added new mail_get_headers() which returns NULL-terminated string list of all found headers. --HG-- branch : HEAD

04ab375449dd97eed50ada88dd0df2abab01cfee 29-Mar-2005 Timo Sirainen <tss@iki.fi>

Added input stream parameter to mailbox_open(). With mbox it now allows opening a read-only mbox using a stream. --HG-- branch : HEAD

fdc557286bc9f92c5f3bb49096ff6e2bcec0ea79 15-Mar-2005 Timo Sirainen <tss@iki.fi>

Major mail-storage API changes. It's now a bit cleaner and much more plugin friendly. Removed proxy_mailbox* stuff, they were difficult to use and there's now much easier way to replace them. --HG-- branch : HEAD

/dovecot/src/deliver/deliver.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/common.h /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-sort.c /dovecot/src/imap/imap-sync.c /dovecot/src/imap/imap-thread.c /dovecot/src/imap/main.c /dovecot/src/imap/namespace.c Makefile.am index/index-fetch.c index/index-mail-headers.c index/index-mail.c index/index-mail.h index/index-search.c index/index-storage.c index/index-storage.h index/index-transaction.c index/maildir/maildir-copy.c index/maildir/maildir-mail.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-transaction.c index/mbox/mbox-mail.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-transaction.c mail-copy.c mail-copy.h mail-storage-private.h mail-storage.c mail-storage.h mail.c proxy-mail-storage.c proxy-mail-storage.h proxy-mail.c proxy-mail.h proxy-mailbox.c proxy-mailbox.h /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c
faed8babca9914257f34fb2e603d74016d563b2d 05-Feb-2005 Timo Sirainen <tss@iki.fi>

Internal changes in how keywords are handled. struct mail_keywords isn't automatically freed anymore, added *_keywords_free() for that. --HG-- branch : HEAD

41e1c7380edda701719d8ce1fb4d465d2ec4c84d 10-Jan-2005 Timo Sirainen <tss@iki.fi>

Keyword fixes. --HG-- branch : HEAD

8d630c15a8ed6f85553467c3a231a273defca5f6 29-Dec-2004 Timo Sirainen <tss@iki.fi>

Added mail_debug setting. Moved full_filesystem_access from global variable to flag in mail_create*() functions. --HG-- branch : HEAD

16c89b1260c9d07c01c83a9219424d3727069b2e 26-Dec-2004 Timo Sirainen <tss@iki.fi>

Initial support for keywords. Syncing to mbox/maildir doesn't work yet. --HG-- branch : HEAD

/dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-sync.c /dovecot/src/lib-imap/imap-util.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/Makefile.am /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-keywords.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/mail-transaction-util.c /dovecot/src/lib-mail/mail-types.h index/index-mail.c index/index-mail.h index/index-search.c index/index-status.c index/index-storage.c index/index-storage.h index/index-sync.c index/maildir/maildir-copy.c index/maildir/maildir-mail.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-sync.c index/maildir/maildir-util.c index/mbox/mbox-mail.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-sync-private.h index/mbox/mbox-sync-update.c index/mbox/mbox-sync.c mail-copy.c mail-storage-private.h mail-storage.c mail-storage.h proxy-mail.c proxy-mailbox.c /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c
b2c1349cf07410aefab0f5b17153af9e5cfcf48f 29-Aug-2004 Timo Sirainen <tss@iki.fi>

Added sync flags parameter to mailbox_transaction_commit(), so EXPUNGE can do a full sync with dirty syncing enabled. --HG-- branch : HEAD

a423d985ba7261661475811c22b21b80ec765a71 21-Aug-2004 Timo Sirainen <tss@iki.fi>

Changed mail saving API to be nonblocking. --HG-- branch : HEAD

84f80d9231b6ddc80ebfae425fd3674620fdf746 22-Jul-2004 Timo Sirainen <tss@iki.fi>

Moved namespace and hierarchy separator handling to imap-specific code. LIST now shows non-hidden namespaces in the LIST reply. --HG-- branch : HEAD

e015e2f7e7f48874495f9df8b0dd192b7ffcb5cc 18-Jul-2004 Timo Sirainen <tss@iki.fi>

Header caching redesigned. New design allows caching decisions per field, so they can be divided to temporary/permanent. Cached headers are now always returned in original order, old code didn't guarantee it. Some other caching changes. (still missing code to store changes in caching decisions) --HG-- branch : HEAD

/dovecot/src/imap/imap-fetch-body-section.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-sort.c /dovecot/src/imap/imap-thread.c /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-index/Makefile.am /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-decisions.c /dovecot/src/lib-index/mail-cache-fields.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h index/index-mail-headers.c index/index-mail.c index/index-mail.h index/index-search.c index/index-storage.c index/index-storage.h index/maildir/maildir-storage.c index/mbox/mbox-mail.c index/mbox/mbox-storage.c mail-storage-private.h mail-storage.c mail-storage.h proxy-mail.c proxy-mailbox.c
d756ebcfa96bd7cff02097c8f26df9df368b81b1 12-Jul-2004 Timo Sirainen <tss@iki.fi>

Broke mailbox_sync() into iterator. --HG-- branch : HEAD

/dovecot/src/imap/Makefile.am /dovecot/src/imap/client.h /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-status.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-sync.c /dovecot/src/imap/imap-sync.h /dovecot/src/imap/mail-storage-callbacks.c /dovecot/src/lib-imap/imap-util.c /dovecot/src/lib-imap/imap-util.h index/index-mailbox-check.c index/index-status.c index/index-storage.h index/index-sync.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-sync.c index/mbox/mbox-storage.c index/mbox/mbox-storage.h index/mbox/mbox-sync.c mail-storage-private.h mail-storage.c mail-storage.h proxy-mailbox.c /dovecot/src/pop3/client.c /dovecot/src/pop3/mail-storage-callbacks.c
b3b4f3875850099c9292ad74d08bb385c3988f8f 22-Jun-2004 Timo Sirainen <tss@iki.fi>

get_last_error() wasn't virtualizable --HG-- branch : HEAD

345212e8f61ebf14ff4f80df26df9e655eb5121e 20-Jun-2004 Timo Sirainen <tss@iki.fi>

mailbox_save() and mailbox_copy() functions can now return the saved mail so it can be immediately queried. Implemented UIDPLUS extension using it. Maildir implementation missing, so it crashes with it for now.. APPEND with mbox now doesn't require resyncing the mailbox since it updates indexes directly. --HG-- branch : HEAD

/dovecot/configure.in /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-close.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-expunge.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-status.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.c /dovecot/src/imap/commands.h /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-expunge.h /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index.h index/index-mail.c index/index-search.c index/maildir/maildir-copy.c index/maildir/maildir-save.c index/maildir/maildir-storage.h index/mbox/mbox-lock.c index/mbox/mbox-mail.c index/mbox/mbox-save.c index/mbox/mbox-storage.h index/mbox/mbox-sync-parse.c index/mbox/mbox-sync-private.h index/mbox/mbox-sync-rewrite.c index/mbox/mbox-sync-update.c index/mbox/mbox-sync.c index/mbox/mbox-transaction.c mail-save.c mail-save.h mail-storage-private.h mail-storage.c mail-storage.h
d8b77aef97e89f1ccc5cbdaef77be9052279e35f 02-May-2004 Timo Sirainen <tss@iki.fi>

s/custom flags/keywords/ --HG-- branch : HEAD

/dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/imap/common.h /dovecot/src/imap/mail-storage-callbacks.c /dovecot/src/imap/main.c /dovecot/src/lib-imap/imap-util.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-mail/mail-types.h index/index-fetch.h index/index-mail.c index/index-search.c index/index-status.c index/index-storage.c index/index-storage.h index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-sync.c index/maildir/maildir-util.c index/mbox/mbox-save.c index/mbox/mbox-storage.c index/mbox/mbox-sync-private.h index/mbox/mbox-sync-update.c mail-storage-private.h mail-storage.c mail-storage.h proxy-mailbox.c /dovecot/src/pop3/mail-storage-callbacks.c
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834 27-Apr-2004 Timo Sirainen <tss@iki.fi>

importing new index code. mbox still broken. --HG-- branch : HEAD

/dovecot/configure.in /dovecot/src/imap/Makefile.am /dovecot/src/imap/client.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-close.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-create.c /dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-expunge.c /dovecot/src/imap/cmd-fetch.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-logout.c /dovecot/src/imap/cmd-rename.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-sort.c /dovecot/src/imap/cmd-status.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/cmd-subscribe.c /dovecot/src/imap/cmd-thread.c /dovecot/src/imap/cmd-unselect.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch-body-section.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-messageset.c /dovecot/src/imap/imap-messageset.h /dovecot/src/imap/imap-search.c /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sort.c /dovecot/src/imap/imap-thread.c /dovecot/src/imap/mail-storage-callbacks.c /dovecot/src/imap/namespace.c /dovecot/src/lib-imap/imap-util.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/Makefile.am /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-old.c /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-lock.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-reset.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log-view.c /dovecot/src/lib-index/mail-transaction-log.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/mail-transaction-util.c /dovecot/src/lib-index/mail-transaction-util.h /dovecot/src/lib-index/maildir/Makefile.am /dovecot/src/lib-index/mbox/Makefile.am /dovecot/src/lib-mail/Makefile.am /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h Makefile.am index/Makefile.am index/index-copy.c index/index-expunge.c index/index-expunge.h index/index-fetch.c index/index-mail-headers.c index/index-mail.c index/index-mail.h index/index-mailbox-check.c index/index-messageset.c index/index-messageset.h index/index-search.c index/index-status.c index/index-storage.c index/index-storage.h index/index-sync.c index/index-transaction.c index/index-update-flags.c index/maildir/Makefile.am index/maildir/maildir-copy.c index/maildir/maildir-expunge.c index/maildir/maildir-list.c index/maildir/maildir-mail.c index/maildir/maildir-save.c index/maildir/maildir-storage.c index/maildir/maildir-storage.h index/maildir/maildir-sync.c index/maildir/maildir-transaction.c index/maildir/maildir-uidlist.c index/maildir/maildir-uidlist.h index/maildir/maildir-util.c index/mbox/Makefile.am index/mbox/istream-raw-mbox.c index/mbox/istream-raw-mbox.h index/mbox/mbox-expunge.c index/mbox/mbox-from.c index/mbox/mbox-from.h index/mbox/mbox-list.c index/mbox/mbox-save.c index/mbox/mbox-sync-header.c index/mbox/mbox-sync-parse.c index/mbox/mbox-sync-private.h index/mbox/mbox-sync-rewrite.c index/mbox/mbox-sync-update.c index/mbox/mbox-sync.c mail-save.c mail-save.h mail-search.h mail-storage-private.h mail-storage.c mail-storage.h proxy-mail-storage.c proxy-mail-storage.h proxy-mail.c proxy-mailbox.c proxy-mailbox.h register/Makefile.am subscription-file/Makefile.am subscription-file/subscription-file.c subscription-file/subscription-file.h /dovecot/src/lib/Makefile.am /dovecot/src/lib/compat.h /dovecot/src/lib/file-dotlock.c /dovecot/src/lib/file-lock.c /dovecot/src/lib/istream-data.c /dovecot/src/lib/istream-file.c /dovecot/src/lib/istream-limit.c /dovecot/src/lib/istream-mmap.c /dovecot/src/lib/macros.h /dovecot/src/lib/network.c /dovecot/src/lib/read-full.c /dovecot/src/lib/read-full.h /dovecot/src/lib/write-full.c /dovecot/src/lib/write-full.h /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c /dovecot/src/pop3/mail-storage-callbacks.c