History log of /dovecot/src/doveadm/dsync/dsync-mailbox-import.h
Revision Date Author Comments Expand
69a71891361b2b27ff68ed84b29278486628464a 27-Sep-2017 Aki Tuomi <aki.tuomi@dovecot.fi>

dsync: Add hashed_headers setting This makes it possible to configure them

f3c24c2c92802cb773315eba1132254932d8709b 23-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

dsync: Use header hashing version 3

a76faea3eb26c4cd67886fbe02c604f74d54be8c 17-May-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

dsync: Try to commit transactions every dsync_commit_msgs_interval messages This was first attempted to be implemented by ec0cc8fa647794e44a1afaa448f495a713048dc4, but it was later partially reverted by 5973d496b16721af6d2c1fa90b016aacddf13554. This current commit should fix its problems.

4f7951e71128c120d8a502d6406cc603fcc8eb0b 01-Dec-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

dsync: When logging "Mailbox changed caused a desync", log also the reason. The reason is usually somewhere in the debug logs, but it's difficult to find from there.

ee8294dbc7bb549557f6ba1264d66b55fbef69b6 10-Oct-2016 Aki Tuomi <aki.tuomi@dovecot.fi>

doveadm-sync: Add end-date support

ae949831f1f668b5501b4b125e7f7b1767fb109b 11-Aug-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

doveadm sync/backup: Added -S <max size> parameter to skip too large mails.

afd6d387ea65843b59fb6051fb567719d2a5279c 08-Aug-2016 Aki Tuomi <aki.tuomi@dovecot.fi>

dsync: Add support for features Add empty_header_workaround as first feature

805d7834412465268486c50711962407ad13fbf6 25-Apr-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

dsync: If state is invalid, exit with code 2 instead of tempfail. We'll have dsync_mailbox_import_*() just return success to everything until _deinit() is called. The _deinit() will return a failure and set "resync needed"-flag, which caller will know how to handle.

7ae6552482fe6e6a613f883335fdafdf9afbc7b7 01-Feb-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

dsync: If mailbox importing fails, stop immediately without waiting for exporter to finish.

69f6407b20f623193981d672c26fa722ee75d941 28-Jan-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

doveadm backup: Detect and handle conflicts earlier. This avoids doing a lot of work, only for the next doveadm backup to just delete the entire mailbox and start from the beginning.

45af47783693b3ba2768c5ad34eeff68132382d0 26-Jan-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

dsync: When comparing headers' hashes to match messages, try to normalize the input. This is especially useful because some IMAP servers return different data depending on whether we're fetching only specific header fields, all headers or entire body. For now we're assuming that any non-ASCII is going to be replaced with '?', which helps at least with Zimbra and Yahoo. The header hashing algorithm is now versionable, so it can be modified more easily in future. This change should make imapc_features=zimbra-workarounds setting obsolete.

14b1d2a2634e75b988078baee1e8ad678de28a04 20-Oct-2015 Timo Sirainen <tss@iki.fi>

dsync: Added DSYNC_BRAIN_FLAG_NO_NOTIFY to enable MAILBOX_TRANSACTION_FLAG_NO_NOTIFY It's arguable that this should be enabled by default, but people might like to keep mail_log notifications for dsync.

ce0e25f26d6e67480ee39b5ca0ad634fa60c4605 18-Mar-2015 Timo Sirainen <tss@iki.fi>

dsync: Use storage's mail_error to choose the doveadm exit code. Instead of always assuming that all errors are EX_TEMPFAIL.

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

dsync: Added -F parameter to sync only mails with[out] specific flag.

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

dsync: If same GUID already exists in storage, try to copy it instead of recreating the mail. This way most mailbox backends can reduce disk space by only doing a reference count update. This feature isn't enabled by default. A virtual "All Mails" mailbox needs to be configured using the virtual plugin. Then you need to give this mailbox as -a parameter, e.g.: doveadm sync -a "Virtual/All Mails" ... Currently this is implemented by reading through all the GUIDs in the virtual mailbox. This of course isn't very efficient for things like incremental replication. An upcoming conversation plugin will keep track of all the mails' GUIDs, so in future replication should be able to have this functionality efficiently as well.

3561c7bb472a78af74d755219cc0fc71c85ff5c2 19-Jan-2015 Timo Sirainen <tss@iki.fi>

dsync: Added -t <timestamp> parameter to save only mails newer than <timestamp> If one side has old mails that don't exist on the other side, they are ignored (not synced and not deleted).

7d315281ae13a66e13da2b1ad006bdb883018278 28-Apr-2014 Timo Sirainen <tss@iki.fi>

dsync: Include messages_count in the mailbox states. This allows detecting that stateful dsync can't be done when message count is suddenly wrong.

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

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

47255691575e06a1c95ce78ff0a1b502199de3ab 24-Jun-2013 Timo Sirainen <tss@iki.fi>

dsync: If verbose_proctitle=yes, show the current state in it.

55d33f807765482eb47374aaaced1fe714e0b256 14-Mar-2013 Timo Sirainen <tss@iki.fi>

dsync: Added support for syncing mailbox attributes.

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

dsync: Various importer fixes.

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

dsync: Various importer fixes. Handle unexpectedly wrong mailbox state better.

975a784c2e02ecdcb56efb7a1db5e4769c7756d8 11-Feb-2013 Timo Sirainen <tss@iki.fi>

dsync: Fixes for syncing without GUIDs.

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

dsync: Removed unused DSYNC_MAILBOX_IMPORT_FLAG_MAILS_HAVE_GUIDS flag.

307ec6c2c319e3335ddb1a7aca2d2884fe17fae0 09-Jan-2013 Timo Sirainen <tss@iki.fi>

dsync: Don't wrongly log errors about missing message bodies. Also added some debug logging related to it.

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

dsync: Use private modseqs to support syncing private flags in shared mailboxes.

efeb13303798b47d2c4295468d233c1bcfd79c94 24-Oct-2012 Timo Sirainen <tss@iki.fi>

doveadm backup: Revert all local changes.

7bd5b1c64cc987715bdaf8cc4907c3c37d5d7b29 22-May-2012 Timo Sirainen <tss@iki.fi>

Initial version of dsync rewrite. * doveadm backup not implemented at all yet * syncing mailbox renames is somewhat broken (at least renaming \noselect mailboxes) * saving/restoring "state" is implemented by dsync brain, but not by doveadm. this should be easy to do, just need to figure out how the replication code wants it.

/dovecot/src/doveadm/doveadm-settings.c Makefile.am doveadm-dsync.c dsync-brain-mailbox-tree-sync.c dsync-brain-mailbox-tree.c dsync-brain-mailbox.c dsync-brain-mails.c dsync-brain-msgs-new.c dsync-brain-msgs.c dsync-brain-private.h dsync-brain.c dsync-brain.h dsync-data.c dsync-data.h dsync-deserializer.c dsync-deserializer.h dsync-mail.c dsync-mail.h dsync-mailbox-export.c dsync-mailbox-export.h dsync-mailbox-import.c dsync-mailbox-import.h dsync-mailbox-state-export.h dsync-mailbox-state.c dsync-mailbox-state.h dsync-mailbox-tree-fill.c dsync-mailbox-tree-private.h dsync-mailbox-tree-sync.c dsync-mailbox-tree.c dsync-mailbox-tree.h dsync-mailbox.h dsync-proxy-client.c dsync-proxy-server-cmd.c dsync-proxy-server.c dsync-proxy-server.h dsync-proxy.c dsync-proxy.h dsync-serializer.c dsync-serializer.h dsync-slave-io.c dsync-slave-pipe.c dsync-slave-private.h dsync-slave.c dsync-slave.h dsync-transaction-log-scan.c dsync-transaction-log-scan.h dsync-worker-local.c dsync-worker-private.h dsync-worker.c dsync-worker.h test-dsync-brain-msgs.c test-dsync-brain.c test-dsync-common.c test-dsync-common.h test-dsync-proxy-server-cmd.c test-dsync-proxy.c test-dsync-worker.c test-dsync-worker.h