History log of /dovecot/src/plugins/virtual/virtual-storage.h
Revision Date Author Comments Expand
109c39ab66c5aa85bf37d5bbf4ce91c6f966268b 24-Jan-2018 Aki Tuomi <aki.tuomi@dovecot.fi>

virtual: Contexts are now required or checked Satisfies static analyzers

9599d7ecbc84e9d33295e1e9a9be937faddce68a 17-Aug-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

virtual: Make sure sync_mailbox_idx isn't used uninitialized Changing its indexes to start from 1, we can add an assert to check that it's never the default 0 when we need to use it.

bc7d7e41fe00f76c38d1a5194c130c983487911b 21-Jul-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

virtual: Make sure index is rewritten when new mailboxes are added Otherwise multiple bbox->sync_mailbox_idx point to 0 and they keep overwriting each others in the header. This causes the header to be constantly updated with wrong contents.

0d318fe07ea8846330b6fe6b6b281ef0ccfbaacd 18-Jul-2017 Aki Tuomi <aki.tuomi@dovecot.fi>

virtual: Stop notifications only if they were started Fixes Panic: file mail-storage.c: line 1950: assertion failed: (box->opened)

43dfd44ec2e993e175c4b50e9804c90a50f56d66 07-Jul-2017 Aki Tuomi <aki.tuomi@dovecot.fi>

virtual: Use mailbox_notify_list API when mailbox_list_index is enabled

825b0e819a7c48a366ddca23ec78b87e8c30e9b4 07-Jul-2017 Aki Tuomi <aki.tuomi@dovecot.fi>

virtual: Generate GUID for virtual folder GUID is generated when index is first created or the rules change.

8eba883232f80178b60fa416f73292bf5f990fec 14-Feb-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

virtual: Fix saving to a virtual mailbox to work again Previous changes broke it.

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 /dovecot/src/lib-storage/index/cydir/cydir-save.c /dovecot/src/lib-storage/index/dbox-common/dbox-file.h /dovecot/src/lib-storage/index/dbox-common/dbox-save.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map-private.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/imapc/imapc-list.h /dovecot/src/lib-storage/index/imapc/imapc-save.c /dovecot/src/lib-storage/index/imapc/imapc-storage.h /dovecot/src/lib-storage/index/imapc/imapc-sync.h /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-rebuild.h /dovecot/src/lib-storage/index/index-search-private.h /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort-string.c /dovecot/src/lib-storage/index/index-thread-finish.c /dovecot/src/lib-storage/index/index-thread-private.h /dovecot/src/lib-storage/index/index-thread.c /dovecot/src/lib-storage/index/istream-mail.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/index/pop3c/pop3c-client.c /dovecot/src/lib-storage/index/pop3c/pop3c-storage.h /dovecot/src/lib-storage/index/raw/raw-storage.h /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/list/mailbox-list-index-notify.c /dovecot/src/lib-storage/list/mailbox-list-index-sync.h /dovecot/src/lib-storage/list/mailbox-list-index.h /dovecot/src/lib-storage/list/mailbox-list-iter.c /dovecot/src/lib-storage/list/mailbox-list-none.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search-register.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage-service.c /dovecot/src/lib-storage/mail-storage-service.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-user.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-search-result-private.h /dovecot/src/lib-storage/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 virtual-mail.c virtual-storage.h 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.

76fd7aa24526db6fd8c78a2f0b71facf76bf4b5a 16-Mar-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

virtual plugin: If we detect backend box to be deleted, mark it permanently deleted.

27f174f3b836b18cb81cd1e6534031f1f3355348 13-Jan-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

virtual plugin: Added support for filtering mailboxes by METADATA entries. Usage: <mailbox patterns as usual> [-]/<metadata-entry-name>:<value-wildcard> There can be multiple metadata entries. All the entries must match. For example: * /private/vendor/vendor.dovecot/virtual:* -/private/vendor/vendor.dovecot/virtual:ignore This matches all mailboxes, which contain a virtual METADATA entry that has any value except "ignore". Note that the current implementation requires still opening all the mailboxes before matching the METADATA entries. This could be avoided in v2.3 with some lib-storage API changes.

77a2367051db01c6fc8cc575242d8a7f5b2c1d42 13-Jan-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

virtual plugin: Don't treat "+-box" as a negative entry. This was already documented by wiki to work as a mailbox named "-box", although it didn't actually work that way. There wasn't any practical difference between "+-box" and "-box", so this change is unlikely to break anyone's config. It was mainly done as code cleanup.

a18335e18aac7fc219b6f18dde083359155cc524 09-Dec-2015 Timo Sirainen <tss@iki.fi>

virtual: Fixed assert-crash when opening virtual mailbox triggered backend mailbox autocreation. Fixes assert: Panic: file virtual-storage.c: line 335 (virtual_mailbox_opened_hook): assertion failed: (!bbox->open_tracked)

dd37e2ff291fbebac1b94e8aad50f3bdf7531049 24-Sep-2015 Timo Sirainen <tss@iki.fi>

virtual plugin: Auto-close mailboxes by hooking into backend's mailbox_open() This is a more reliable way of doing it. The earlier version had problems that all the backend mailboxes could be opened when doing a search on the virtual mailbox (for getting the GUID of the mailboxes).

9cb0fe28ae6f59b9f075e1edfc30f417e846c4a2 24-Sep-2015 Timo Sirainen <tss@iki.fi>

virtual plugin: Fixed assert-crash when closing a virtual mailbox consisting of many real mailboxes.

d85a1a9d9af4a36ded4d30cb277905c807de2ec5 20-Jan-2015 Timo Sirainen <tss@iki.fi>

virtual plugin: Read virtual index header when opening virtual mailbox. This allows doing some mailbox accessing without actually syncing the mailbox. For example MAIL_FETCH_MAILBOX_NAME can be used without crashing.

212e9e43a7d49242446331fd43ba519eda936d60 03-Jul-2014 Timo Sirainen <tss@iki.fi>

virtual: Never keep more than specified number of physical mailboxes open. This should make virtual mailboxes work for users who have a a ton of mailboxes with a ton of mails. Earlier code would likely have failed either with "Too many open files" or crashed with "Out of memory". You can change the max number of open mailboxes with: plugin { virtual_max_open_mailboxes = 64 } The default is 64.

a385399497bdb50d4dfce729ffc852b75ed46a36 23-Apr-2014 Timo Sirainen <tss@iki.fi>

virtual: Fixed assert-crash in IDLE caused by earlier changes. This change negates all the improvements of the earlier changes when IDLE is used. This could be fixed by using mailbox-list-notify.h API.

3e1d94509fd76c56f2eb54f98ea02ade9ac2d44a 23-Apr-2014 Timo Sirainen <tss@iki.fi>

virtual: Delay initializing search args until the mailbox is actually opened. Fixes assert-crash caused by recent changes when virtual mailbox search args contained e.g. keywords.

18a41cbd38f83429b790414c1159c097af4a59b8 15-Apr-2014 Timo Sirainen <tss@iki.fi>

virtual: Delay opening the backend mailboxes until it's really necessary. This should improve the performance a lot with mailbox_list_index=yes when opening virtual mailboxes whose backend mailboxes are mostly unchanged.

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

lib-storage: Added mailbox_status.have_save_guids.

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

lib-storage: Added mailbox_status.have_guids flag

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

Replaced *_INDEX_PREFIX macros with a common MAIL_INDEX_PREFIX.

/dovecot/src/lib-storage/index/cydir/cydir-storage.c /dovecot/src/lib-storage/index/cydir/cydir-storage.h /dovecot/src/lib-storage/index/dbox-common/dbox-storage.c /dovecot/src/lib-storage/index/dbox-common/dbox-storage.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.c /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.c /dovecot/src/lib-storage/index/imapc/imapc-storage.c /dovecot/src/lib-storage/index/imapc/imapc-storage.h /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/pop3c/pop3c-storage.c /dovecot/src/lib-storage/index/pop3c/pop3c-storage.h /dovecot/src/lib-storage/mail-storage-private.h virtual-storage.c virtual-storage.h
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 /dovecot/src/lib-storage/index/dbox-common/dbox-file.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map-private.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-save.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/dbox-single/sdbox-save.c /dovecot/src/lib-storage/index/imapc/imapc-storage.h /dovecot/src/lib-storage/index/index-mail-binary.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-search-private.h /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-sync-changes.c /dovecot/src/lib-storage/index/index-thread-finish.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/list/mailbox-list-index-notify.c /dovecot/src/lib-storage/list/mailbox-list-maildir.c /dovecot/src/lib-storage/mail-search-register-human.c /dovecot/src/lib-storage/mail-search-register.c /dovecot/src/lib-storage/mail-storage-hooks.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage-settings.h /dovecot/src/lib-storage/mail-user.h /dovecot/src/lib-storage/mailbox-keywords.c /dovecot/src/lib-storage/mailbox-list-iter.c /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/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 virtual-mail.c virtual-search.c virtual-storage.h virtual-sync.c 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
8d587838c414c48a331f0b54cd7ffd97e5024abd 22-Jul-2011 Timo Sirainen <tss@iki.fi>

fts: Redesigned/enhanced FTS API and how virtual plugin works with it. The changes include: - Only indexer process and "doveadm index" do FTS indexing now. Other processes connect to the indexer process via UNIX socket and request indexing a specific mailbox. - FTS backends can now index/search any search key. Current backends implement indexing for some specific header fields (Subject, From, To, Cc, Bcc), but it would also be possible to add indexing for e.g. message size or date. - CLucene support is fixed and fully functional. - Solr is split to "solr" and "solr_old" backends. The new "solr" backend supports the new header fields. It also uses mailbox GUIDs as mailbox identifiers, so that renaming a mailbox doesn't require reindexing. The "solr_old" uses the old Solr schema and doesn't support any new features.

/dovecot/configure.in /dovecot/doc/solr-schema.xml /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-lucene/lucene-wrapper.cc /dovecot/src/plugins/fts-lucene/lucene-wrapper.h /dovecot/src/plugins/fts-solr/Makefile.am /dovecot/src/plugins/fts-solr/fts-backend-solr-old.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-solr/fts-solr-plugin.c /dovecot/src/plugins/fts-solr/fts-solr-plugin.h /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-solr/solr-connection.h /dovecot/src/plugins/fts-squat/fts-backend-squat.c /dovecot/src/plugins/fts-squat/squat-test.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-trie.h /dovecot/src/plugins/fts/Makefile.am /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-api.c /dovecot/src/plugins/fts/fts-api.h /dovecot/src/plugins/fts/fts-build-indexer.c /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.c /dovecot/src/plugins/fts/fts-build.h /dovecot/src/plugins/fts/fts-mailbox.c /dovecot/src/plugins/fts/fts-mailbox.h /dovecot/src/plugins/fts/fts-plugin.c /dovecot/src/plugins/fts/fts-plugin.h /dovecot/src/plugins/fts/fts-search-serialize.c /dovecot/src/plugins/fts/fts-search-serialize.h /dovecot/src/plugins/fts/fts-search.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/fts/fts-storage.h virtual-storage.c virtual-storage.h
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 /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.c /dovecot/src/lib-storage/index/imapc/imapc-search.c /dovecot/src/lib-storage/index/imapc/imapc-storage.h /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-search-private.h /dovecot/src/lib-storage/index/index-search-result.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-status.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-thread.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/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 virtual-search.c virtual-storage.h virtual-sync.c /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-commands.c
2128e2bebe4af374561ea2846b9d3eca3cde233e 16-Mar-2011 Timo Sirainen <tss@iki.fi>

virtual: Support +mailbox entries that clear \Recent flag from messages.

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

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

6d6c1517ef20e340a3aace406724fc8916f2d13f 08-Jul-2010 Timo Sirainen <tss@iki.fi>

virtual: If non-matching messages weren't expunged within same session, they never got expunged. --HG-- branch : HEAD

7a7d2aa11e46195e2d92d6c337d7e78052a5ce67 04-Jun-2010 Timo Sirainen <tss@iki.fi>

Avoid including mailbox-list-private.h everywhere. --HG-- branch : HEAD

/dovecot/src/lib-storage/index/cydir/cydir-storage.c /dovecot/src/lib-storage/index/cydir/cydir-storage.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.c /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.h /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/raw/raw-storage.c /dovecot/src/lib-storage/index/raw/raw-storage.h /dovecot/src/lib-storage/index/shared/shared-storage.c /dovecot/src/lib-storage/index/shared/shared-storage.h virtual-config.c virtual-storage.c virtual-storage.h
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

/dovecot/src/lib-storage/index/cydir/cydir-save.c /dovecot/src/lib-storage/index/cydir/cydir-storage.c /dovecot/src/lib-storage/index/cydir/cydir-storage.h /dovecot/src/lib-storage/index/cydir/cydir-sync.c /dovecot/src/lib-storage/index/dbox-common/dbox-mail.c /dovecot/src/lib-storage/index/dbox-common/dbox-storage.c /dovecot/src/lib-storage/index/dbox-common/dbox-sync-rebuild.c /dovecot/src/lib-storage/index/dbox-common/dbox-sync-rebuild.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-mail.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-save.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-sync.c /dovecot/src/lib-storage/index/dbox-single/sdbox-file.c /dovecot/src/lib-storage/index/dbox-single/sdbox-mail.c /dovecot/src/lib-storage/index/dbox-single/sdbox-save.c /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.c /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.h /dovecot/src/lib-storage/index/dbox-single/sdbox-sync-file.c /dovecot/src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c /dovecot/src/lib-storage/index/dbox-single/sdbox-sync.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-mailbox-check.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-status.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync-changes.c /dovecot/src/lib-storage/index/index-sync-changes.h /dovecot/src/lib-storage/index/index-sync-private.h /dovecot/src/lib-storage/index/index-sync-search.c /dovecot/src/lib-storage/index/index-sync.c /dovecot/src/lib-storage/index/index-thread-private.h /dovecot/src/lib-storage/index/index-thread.c /dovecot/src/lib-storage/index/index-transaction.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync-index.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/maildir/maildir-util.c /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/index/raw/raw-storage.c /dovecot/src/lib-storage/index/raw/raw-storage.h /dovecot/src/lib-storage/index/raw/raw-sync.c /dovecot/src/lib-storage/index/test-index-fetch.c /dovecot/src/lib-storage/mail-storage-private.h virtual-config.c virtual-mail.c virtual-search.c virtual-storage.c virtual-storage.h virtual-sync.c
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 /dovecot/src/lib-storage/index/index-search-result.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-thread.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/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 virtual-search.c virtual-storage.h virtual-sync.c /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-commands.c
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

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

virtual: If another session adds a new mailbox to index, handle it without crashing. For now we'll just disconnect the session. --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 /dovecot/src/lib-storage/index/cydir/cydir-storage.c /dovecot/src/lib-storage/index/cydir/cydir-storage.h /dovecot/src/lib-storage/index/cydir/cydir-sync.c /dovecot/src/lib-storage/index/dbox/dbox-file.c /dovecot/src/lib-storage/index/dbox/dbox-mail.c /dovecot/src/lib-storage/index/dbox/dbox-save.c /dovecot/src/lib-storage/index/dbox/dbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox/dbox-storage.c /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync-rebuild.c /dovecot/src/lib-storage/index/dbox/dbox-sync.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-thread.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync-index.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/maildir/maildir-util.c /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/index/raw/raw-mail.c /dovecot/src/lib-storage/index/raw/raw-storage.c /dovecot/src/lib-storage/index/raw/raw-storage.h /dovecot/src/lib-storage/index/raw/raw-sync.c /dovecot/src/lib-storage/list/index-mailbox-list-sync.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/test-mail-storage.c /dovecot/src/lib-storage/test-mail-storage.h /dovecot/src/lib-storage/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 virtual-config.c virtual-storage.c virtual-storage.h virtual-sync.c /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3/pop3-client.c /dovecot/src/util/doveadm.c
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 /dovecot/src/lib-storage/index/cydir/cydir-mail.c /dovecot/src/lib-storage/index/cydir/cydir-save.c /dovecot/src/lib-storage/index/cydir/cydir-storage.c /dovecot/src/lib-storage/index/cydir/cydir-sync.c /dovecot/src/lib-storage/index/dbox/dbox-map.c /dovecot/src/lib-storage/index/dbox/dbox-settings.c /dovecot/src/lib-storage/index/dbox/dbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox/dbox-storage.c /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync-rebuild.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync-index.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/maildir/maildir-util.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/raw/raw-storage.c /dovecot/src/lib-storage/index/shared/shared-list.c /dovecot/src/lib-storage/index/shared/shared-storage.c /dovecot/src/lib-storage/index/shared/shared-storage.h /dovecot/src/lib-storage/list/index-mailbox-list-sync.c /dovecot/src/lib-storage/list/index-mailbox-list.c /dovecot/src/lib-storage/list/mailbox-list-fs.c /dovecot/src/lib-storage/list/mailbox-list-maildir.h /dovecot/src/lib-storage/mail-namespace.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage-settings.c /dovecot/src/lib-storage/mail-storage-settings.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-user.c /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/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 virtual-config.c virtual-mail.c virtual-storage.c virtual-storage.h /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3/pop3-client.c /dovecot/src/util/doveadm.c
905457e0982fc15930d90e174f271dc69f9afcf9 26-May-2009 Timo Sirainen <tss@iki.fi>

virtual: Fixed crashes when simultaneous connections accessed the same virtual mailbox. --HG-- branch : HEAD

7f3b826a89bcb7a72759912e99f574b28309fe1b 18-May-2009 Timo Sirainen <tss@iki.fi>

virtual: If we can't open a mailbox that was added using a wildcard, just skip it. --HG-- branch : HEAD

c115c742f730e312d6b6ab5064595cd0d8b4e26e 27-Feb-2009 Timo Sirainen <tss@iki.fi>

virtual: Added support for saving/copying messages to 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

/dovecot/src/lib-storage/index/cydir/cydir-storage.c /dovecot/src/lib-storage/index/dbox/dbox-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/raw/raw-storage.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /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-solr/solr-connection.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-api.h /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/fts/fts-storage.h virtual-config.c virtual-storage.c virtual-storage.h
ecdce39e5ef4b62eefa9f5818f17d153fd5d710a 23-Nov-2008 Timo Sirainen <tss@iki.fi>

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

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

Optimized searching with virtual mailboxes. Instead of going through the messages in the virtual mailbox order, go them through one mailbox at a time and in ascending message order within that mailbox. --HG-- branch : HEAD

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

Virtual mailboxes: Fixes to handling errors. --HG-- branch : HEAD

7e209b78ca757294dbbc15604c88673b3a6b0c39 12-Oct-2008 Timo Sirainen <tss@iki.fi>

Virtual mailboxes: If CRC32 of the search strings changes, rebuild the mailbox. --HG-- branch : HEAD

c93ff0433cc3d348116f75a64f9988fedb86fd18 08-Aug-2008 Timo Sirainen <tss@iki.fi>

virtual mailboxes: Detect loops in virtual mailbox definitions. --HG-- branch : HEAD

111a7dda02defa4d612468cfc3c40da5240645af 08-Aug-2008 Timo Sirainen <tss@iki.fi>

virtual mailboxes: Added support for using wildcards in mailbox names. The wildcards don't span namespaces so that "*" won't also match mailboxes in virtual namespace. --HG-- branch : HEAD

4ece61edd7c266a4b8f3b290a7f0a3cb3d13ca0f 17-Jun-2008 Timo Sirainen <tss@iki.fi>

Virtual mailboxes: Speed up initial search result building using modseqs. --HG-- branch : HEAD

dee43975a70bcdb9dc83d34d6a2b177d37bb7194 09-Jun-2008 Timo Sirainen <tss@iki.fi>

virtual mailboxes: Use saved search results to find out which messages were added/removed. Also several other fixes and optimizations. --HG-- branch : HEAD

24e5e4526d8f5cbc056ab97fd0d154d0936d7a5e 13-Mar-2008 Timo Sirainen <tss@iki.fi>

Added initial support for virtual mailboxes. --HG-- branch : HEAD