2da20ac5a4af910deebf4312469ba925bb88f432 |
|
07-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Log a warning if copying a mail fails unexpectedly
Don't log a warning if it happens because the source message was expunged.
That's an expected failure. |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
47a5a7e8296f3b8f2fac9a0659d4de3f2723ba4a |
|
06-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Use PRI* macros and %zu instead of casting |
69a71891361b2b27ff68ed84b29278486628464a |
|
27-Sep-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
dsync: Add hashed_headers setting
This makes it possible to configure them |
0dab9cb35a976c49b28a11e28d5570f5191f1a7a |
|
22-Sep-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: Add reason to mailbox_transaction_begin()
Remove mailbox_transaction_set_reason(). |
b0ead8fffe8dfdee92fca875b91fadf3f3f2262b |
|
09-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Add missing transaction flags when performing UID renumbering
The transaction didn't have MAILBOX_TRANSACTION_FLAG_SYNC or
MAILBOX_TRANSACTION_FLAG_NO_NOTIFY (with DSYNC_BRAIN_FLAG_NO_NOTIFY).
This caused replication-dsync to unnecessarily trigger another dsync
replication notification. |
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. |
bf7dc750b95039981c0e9d728f313d50cf38a156 |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Log internal storage error on failure |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
efe78d3ba24fc866af1c79b9223dc0809ba26cad |
|
24-Dec-2016 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
global: Replaced all instances of memset(p, 0, sizeof(*p)) with the new i_zero() macro.
Used the following script:
C_FILES=`git ls-files *.c`
H_FILES=`git ls-files *.h`
for F in "$C_FILES $H_FILES"; do
echo "$F"
perl -p -i -e 's/safe_memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero_safe(&$1)/g' $F
perl -p -i -e 's/safe_memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero_safe($1)/g' $F
perl -p -i -e 's/memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero(&$1)/g' $F
perl -p -i -e 's/memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero($1)/g' $F
done |
db40a9dd97fdd03b12bd6f793768a634e086f93c |
|
03-Dec-2016 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
dsync: Fixed boolean expression in dsync_mailbox_import_deinit().
Found with Clang -Wstrict-bool. |
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. |
66c87722e0fd2a85cd59797326bad3d1c409dc3a |
|
10-Aug-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Update mailbox_attribute_get API usage |
94a1fedb51b3403bb879db9f3c4430ae34865e8e |
|
08-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Fixed empty-header-workaround |
afd6d387ea65843b59fb6051fb567719d2a5279c |
|
08-Aug-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
dsync: Add support for features
Add empty_header_workaround as first feature |
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] |
589bc28b5489c76626f022adc74a5324ae02996a |
|
27-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Debug logging improvement. |
8c8f6ed0a46db6589c08d8db1f4ed779ef5bc19b |
|
20-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
doveadm backup: Fixed unnecessary mailbox deletion.
Broken by 79490ec1a. The idea is to delete the mailbox early to avoid
unnecessary work, but we deleted it too early. If the last mail(s) were
deleted instead of just expunging them we deleted the whole mailbox. |
43cc944340b6879ce2c6aeba048ceaf040bf0932 |
|
18-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Code cleanup - remove unnecessary errno changes.
These were left behind from changing %m to [io]_stream_get_error() |
3858a7a5da361c35f1e6e50c8e3214dc0cf379d6 |
|
16-May-2016 |
Phil Carmody <phil@dovecot.fi> |
lib: istream - migrate to i_stream_read_more()
Scripted to find all the low-hanging-fruit (single line calls), but hand-checked:
git grep i_stream_read_data.*,\ 0\) | sed s/:.*// | \
xargs sed -i -e 's/i_stream_read_data(\(.*\), \(.*\), \(.*\), 0)/i_stream_read_more(\1, \2, \3)/'
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
37312679c89109e8762c3ec33da3dfac4c4177b8 |
|
11-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Fixed potential crash
This seems to be possible with dsync_mailbox_find_common_expunged_uid() ->
dsync_mailbox_common_uid_found() -> dsync_mailbox_rewind_search() -> following
search doesn't find anything. |
6d02ce5bfbbcea1b532ce9fce78c1f23baea38ca |
|
03-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Fixed assert-crash if mailbox_attribute_set() fails
We shouldn't set importer->mail_error, because we're not going to
fail the import.
Fixes assert-crash:
dsync-mailbox-import.c: line 2812 (dsync_mailbox_import_deinit): assertion failed: (importer->failed == (importer->mail_error != 0)) |
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. |
808fab19464062a665af85df5e147c6b64b1c348 |
|
25-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Improved detecting state state string. |
7ae6552482fe6e6a613f883335fdafdf9afbc7b7 |
|
01-Feb-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: If mailbox importing fails, stop immediately without waiting for exporter to finish. |
79490ec1a58241d6011fa36713ca651d795855c3 |
|
28-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
doveadm backup: If local mailbox has more mails than remote, detect and delete it earlier. |
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. |
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3 |
|
12-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: freshen copyright
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-5]/$1-2016/g;s/ (201[0-5]) Dovecot/ $1-2016 Dovecot/' |
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. |
bd78cb1d7e05956b08a2031b8618b8fb97c9991c |
|
27-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
dsync: Removed unnecessary code - cur_mail is never NULL at this point.
Found by Coverity. |
57c5e11941482d3603fc03482f78e07fa0f81ee5 |
|
03-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
dsync: Assert-crashfix
Fixes:
Panic: file mail-storage.c: line 1897 (mailbox_save_alloc): assertion
failed: (!ctx->unfinished) |
d206a491a53d1ffb4beb4470373c6ab56059ec0a |
|
03-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
dsync: Crashfix in certain situation. |
472f3cbaaa2ba84e2241da0747630d391e120c84 |
|
24-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
dsync: Compiler warning fix to previous change. |
eb729968680f4a36616ce8c60848c3b6c407f791 |
|
24-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed memory leaks when importing attributes whose values were in istreams. |
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. |
845bac8afdbd5f521b8a6d4493f0581f3b1a2692 |
|
20-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
dsync: Crashfix to -F parameter handling. |
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. |
da215fe5cde683b7d1fe2339e7747c1b14bff04a |
|
19-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
dsync: Added more debug logging. |
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). |
7cb128dc4cae2a03a742f63ba7afee23c78e3af0 |
|
05-Jan-2015 |
Phil Carmody <phil@dovecot.fi> |
global: freshen copyright
Robomatically:
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-4]/$1-2015/g;s/ (201[0-4]) Dovecot/ $1-2015 Dovecot/'
Happy 2015 everyone!
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
a3e96a912e8a058a7372eda55ffc95d54269bd3c |
|
25-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Added debug logging for attribute importing |
ab841a241463160492bb4b8e41039752804b33b8 |
|
23-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed assert-crash / memory leak on error handling path. |
34422d89f9e4adeb367fc85ff4f71db0137a7c20 |
|
06-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Debug logging improvements and comment clarifications. |
f6a50ab94799b632c6fc95ec73bfed399ead4e19 |
|
06-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
doveadm backup: Don't unnecessarily delete mailbox when handling expunges |
2176c7c7a7ed029fe577408c8988ea24e63b14c2 |
|
05-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
doveadm backup: Local mailbox was deleted also when there were just new messages. |
f502a549abbbb69c606243a8800cbe7d05f772f1 |
|
05-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
doveadm backup: When deleting a mailbox, log a warning, not just a debug message.
Because we're also returning temporary failure in any case, so there needs
to be some kind of a warning/error logged. |
61f258ff61e4e210046e68acef9d10088f18d14e |
|
02-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Debug message fix |
de39002e8ede55284af93d616bbf5f126188debd |
|
02-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Improved debug logging. |
3df1930bcd45556e7f8031365ce505199c5dc4bd |
|
01-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Added more debug logging. |
53270266126b468a9944d42240c7108770d62980 |
|
01-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
doveadm backup: Fix to earlier commit - don't try to delete an already empty mailbox. |
2faaca21fb49df0f1da859090246866b111cee1e |
|
01-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
doveadm backup: Locally expunged mails weren't always added back. |
d519a0449d0e536a32db93305516fdbd7db6773d |
|
29-Sep-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Added DSYNC_BRAIN_FLAG_NO_MAIL_PREFETCH to avoid opening mails unnecessarily. |
faca9429a68ada074390da8745cf5ee0c958b42b |
|
26-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed infinite looping on error condition. |
7be1a5530fcb414588fbe90eaed65eff83e84737 |
|
12-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
Removed pointless NULL checks.
Found by Coverity |
ea918d503ae61496e10103935028d3cc6419f1cb |
|
07-May-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Make static analyzer happier (hopefully) |
8bc87e22fecd20797112b86778a961b08dc1f5c8 |
|
30-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: saved-date doesn't need to be looked up until mail body is being read.
This should improve the performance when the saved-date isn't already cached
or otherwise quickly accessible.
This change also makes dsync slightly incompatible with earlier versions.
When using dsync with an earlier version the saved-dates aren't synced. It
would be too much trouble to try to preserve full backwards compatibility,
especially because saved-date doesn't matter so much and isn't even visible
to IMAP clients. |
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. |
cd8a262bdd0b55a3bf53d9aa54fc3008a61d7f8d |
|
25-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes |
3ef4aca8cae3e335e1fe53591049cb80b299c459 |
|
24-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed high data stack memory usage |
bb4045cb95c33c3a888c50dce461554391129794 |
|
27-Mar-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Optimization for a large number of mails with the same GUID.
Still not ideal, but better than before. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
8601cb6dafd4e8960c91b3c082af3095cfbebe74 |
|
20-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fix to 128bit GUID syncing |
d1e843e77f4760e303c53d9fce10123fc8d230a1 |
|
17-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Support syncing storages with 128bit GUIDs <-> string GUIDs. |
0afe75cd8ea1814ba5711196ef749f93a140c01c |
|
06-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Use i_stream_get_error() instead of just errno in stream error messages. |
5973d496b16721af6d2c1fa90b016aacddf13554 |
|
03-Oct-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Removed periodic commits while importing.
The problem is that the current algorithm doesn't handle it correctly. If
there already are some mails that exist locally, or remote has duplicate
mails, the messages may not be saved in the UID order, and if there's a
commit between such wrong ordering, the UIDs get renumbered. |
311cbd9b1c81df050f5019600a2a809bc620be00 |
|
21-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Added more consistency when debug logging about changes during sync. |
31d32d39dd09be0625a6d92ee715155f5d679515 |
|
21-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Added some more debug logging. |
ec047a9c54a02338e85fb1767120b0923f6d4148 |
|
17-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Improved debug/error logging for changes during sync. |
e04e2ca2a536e2d1ea0c3d4dde68902ab14ea6c7 |
|
07-Aug-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Avoid assert-crash after an error. |
34b8b14ce06c0939932b60f22f61aea124198438 |
|
26-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed syncing when one of the backends supported GUIDs. |
173fc9ed37637e4609b1ecc9415a9b92067eeeb2 |
|
26-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed handling expunges when GUIDs aren't supported by the backend(s). |
47255691575e06a1c95ce78ff0a1b502199de3ab |
|
24-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: If verbose_proctitle=yes, show the current state in it. |
719123a3ec5aeb45ef1c50c265039666c71981d7 |
|
10-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Don't fail the sync if attribute couldn't be set.
It's probably a system configuration mismatch where some/all attributes
don't work in one system but do on another. This might or might not be a
problem, so it deserves an error message, but probably doesn't deserve
failing entirely. |
933e663cc1805e11d42d4c5ad69038c0866c56a8 |
|
09-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed assert-crash caused by previous change |
ec0cc8fa647794e44a1afaa448f495a713048dc4 |
|
08-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Commit large transactions every 100 new messages.
This way if the dsync crashes or transaction fails in the middle, the next
run can finish faster. Also the rollbacking finishes faster. |
b6d4436601d4371b4fbf5347bcaaad4f5e114671 |
|
08-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: If saving mails fail, stop trying to save more of them and flooding logs. |
791fb70b3255a11a91ce0c2dc3ae1460d4cf8459 |
|
05-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
Make static analyzer happier. |
9e992397c2d66eea80177357323a6ce3f042097d |
|
31-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: If remote doesn't send some mails, don't exit with code 0. |
a1893588a73d32a322153f5a2f7a16ef2c724979 |
|
26-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Crashfix when importing from storage without GUIDs. |
5e32f3d9e2c58b6db53cc3b063c9ee73949207ca |
|
22-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fix |
ab3c52cff40218f248fac2bd7c93125cc2ae4c9d |
|
20-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed attribute value comparisons. |
41e51b972f02e8b16c19fab9160294ea0a07c343 |
|
19-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mailbox attributes can now be accessed via istreams.
The idea is to use istreams for larger values. |
9307e4f91ea313a303b5473d9c53a3a2f383300f |
|
19-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Set last_change timestamp for unset attributes. |
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. |
55d33f807765482eb47374aaaced1fe714e0b256 |
|
14-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Added support for syncing mailbox attributes. |
2e86ce0239b4bc88c94d7edb5813d38ab080627e |
|
19-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Assert-crashfix for handling conflicting private flags. |
8b3a4836da0b032673918941cb49c956d3b89b25 |
|
17-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixes to handling local changes during dsync. |
add74aa767e4b6aaa08e3a389022883f0dd3f43d |
|
17-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed infinite loop in importer. |
9bbfe7f5ff821cac11d1d2550a91b148f389d82c |
|
17-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Improved unexpected error logging. |
264c6bd26df5380dc52687f6ec0351354012a948 |
|
16-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: If unexpected changes happen during sync, return a safe last-common-uid for state. |
c3aebe3bd173bb339947d4fb6fa4f0e090c38e69 |
|
16-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed last-common-uid lookup when local UID was expunged but remote wasn't. |
fadb1a39a4d7da6592b4cc11ae401d2763ba66b4 |
|
16-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Assert-crashfix for previous importer changes. |
0c47c2096714b50880d48d00ce0bf28349eb4ace |
|
16-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Various importer fixes. |
d52f5dcb05092e126058874772f2c367499e650a |
|
16-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Avoid possibly long function recursion. |
d9b9687bf8cae9cfb070b1b7aadefa683220269f |
|
16-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Various importer fixes. Handle unexpectedly wrong mailbox state better. |
8576eb5abb66178f251c00209e564c7673c0e4cf |
|
11-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Minor fix to deciding when to use GUIDs vs. header hashes. |
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. |
5a580c3a38ced62d4bcc95b8ac7c4f2935b5d294 |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Oops :) Update copyrights to 2013 without breaking all .c files. |
cca4ba2a504d70a9fe9fee37f8433997359de52c |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2013. |
5446576156fbe26e07a5cb964a900281d283f387 |
|
31-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: More fixes to merging flag/keyword changes. |
252f5c6a63878e7a8a7ffb5847eecbad7f8737e8 |
|
31-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed syncing message keywords.
"add" and "final" can't be mixed together always without causing keywords to
be added back unintentionally. |
cf848255bf65a5e2382c59c093da72f877f7535a |
|
31-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: If both local and remote have the same message flags, don't go changing them. |
53c384be5f8f27945fd61b8a0d731a93a261628f |
|
31-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: When we know that remote does a flag update, try to guess the remote's new modseq and set it |
59bf1df59552b6898749a87ae28476debd9b77d8 |
|
31-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed syncing keyword removals. |
d097ad375f7fc532ab5cb91020c206c0def55179 |
|
31-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Ignore GUID mismatch on expunged message pair. |
f5d3d7a0e1e517c6dff9bb1750334c8d9e4dce99 |
|
28-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: When syncing locally, mailbox_copy() the mail to attempt a fast copy. |
9eef11df882f9c14d164f42cb438f32fe724041c |
|
21-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Added a quick way to debug unexpected changes. |
03936179f87aebde358dbe1ca8c34e5b5551db45 |
|
21-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixes to handling storage formats that don't use 128bit GUIDs. |
c9dcbfeaebca24537fc0865a258efaf011d9c461 |
|
21-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed infinite loop when message suddenly got expunged. |
1c95b8403d2d4dcf35e23fc0a1b51922f120a82a |
|
21-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: If remote doesn't send some message bodies, log an error about each one separately. |
471a6b2b4e64eca5d5779ae20a477312b32c89ee |
|
21-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync backup: Old unwanted messages weren't deleted as they should have. |
89f0ab8c7daae308fbcb1c8537ee415d236816c0 |
|
21-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed crashes when sending already expunged messages. |
cd70f7aec3bf49147fa80b77dd7ede7d7697202e |
|
21-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Verify messages' GUIDs better. |
a5f297ac8cb8fb168edabf9fe93a7061539a0afa |
|
09-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Another fix to handling expunges from the end of mailbox. |
c45baa023828a14f440eb184c24d186ffe8666ed |
|
09-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Mailbox syncing fix |
91ec3b77f0bb5365ff9601422f09c729a0e19897 |
|
09-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Error handling fix. |
14460e21d9acf5812876832c53f7625b23a0bd69 |
|
09-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed handling UID renumbering when new mail was saved during dsync. |
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. |
d8504a5ac72efb86a8da852c8d814ccaf0ae8625 |
|
08-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Crashfix for handling expunges from end of mailbox. |
f3053c3637f64633c8ef642e1b9b689b333ebf73 |
|
08-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed syncing expunge for last mail in mailbox. |
ccd7b4e0a5f09058a59cc4b3f878254e93e7cb0a |
|
08-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Avoid updating modseqs unnecessarily.
lib-index perhaps should do this automatically as well. |
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. |
3e6903afa5bd125e8bb14f996a558e032674dfbf |
|
22-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
dsync: Use mailbox_move() to reassign UIDs instead of copy+expunge. |
c307328f59c963eba21091ecd36c9435d42b47d8 |
|
20-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
doveadm sync/backup: Added -s <state> parameter to do a fast stateful sync.
Initially use an empty string for the input state. The output state is
written to stdout. |
08e9fec5ba9e1a26e658c4224207d666b6ced27d |
|
20-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Simplified hash table union now that it again works only with pointers. |
a75d470c9223a75801418fcdda258885c36317e0 |
|
20-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Reverted "support for non-pointers" part of the hash table API changes.
Originally I wrote it using clang, which didn't give as many warnings as gcc
did. I guess this way is safer anyway.. |
ab750f2469315f289b665d192e48286c0e53d556 |
|
20-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Compiler error fix due to hash table changes. |
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] |
678d0463849ba777106eb7875f27db07a5d8e3df |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Hash table API is now (mostly) type safe. |
7536dca18968a279b69c685eedda205bee228fd4 |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
hash_table_create(): Removed table_pool parameter.
Every single caller was using default_pool there, so there's no point in
having it. |
31a574fda352ef4f71dbff9c30e15e4744e132c0 |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Added array_append_zero() to write a zero-filled record to an array.
Replaced (void)array_append_space() calls with it. |
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. |
86bde2c1838d1ce967fa2b394bb952004a4adcb7 |
|
24-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
seq_range_array_add() API changed. Added other functions to provide the less common use cases. |
3ea86ed7cf06ba04e4aa6cd1c4df9be336c06cd3 |
|
24-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Make static analyzer happier. |
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4 |
|
23-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Marked functions parameters that are allowed to be NULL. Some APIs were also changed.
The non-obvious APIs where NULL parameter was changed to "" are
master_service_init() and auth_master_user_list_init().
These checks can currently be enabled only on a patched clang:
http://llvm.org/bugs/show_bug.cgi?id=6786 |
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. |