ceb8c97c6c9fe0ee7eb544645c6bdb74dfcb519d |
|
31-Jan-2018 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on mailbox_header_lookup_unref(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- mailbox_header_lookup_unref(&E);
- }
+ mailbox_header_lookup_unref(&E); |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
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(). |
204ee6ed414f5e4eeb6f6c10763b55daf56f11ac |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on [io]_stream_unref(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- i_stream_unref(&E);
- }
+ i_stream_unref(&E);
@@
expression E;
@@
- if (E != NULL) {
- o_stream_unref(&E);
- }
+ o_stream_unref(&E); |
f3c24c2c92802cb773315eba1132254932d8709b |
|
23-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Use header hashing version 3 |
df74814b12ef891a90522b1ced231350afaf1232 |
|
14-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Fix panic if syncing fails during attribute iteration
Fixes:
Panic: file dict.c: line 104 (dict_deinit): assertion failed: (dict->iter_count == 0) |
bf7dc750b95039981c0e9d728f313d50cf38a156 |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Log internal storage error on failure |
2da176a0b105bc75a3289facb4b467e98bc04829 |
|
19-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Don't assert-crash if duplicate attributes are seen
Just ignore the duplicates. Normally this shouldn't happen, but due to
some bugs for example a Sieve script could be returned once by doveadm_sieve
plugin and another time from mail_attribute_dict. |
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 |
93a4387a19cdb45cec27eb951c9fcdb31fe5b1d5 |
|
27-Sep-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Virtual sizes weren't exported properly with -I parameter.
Although they were incorrectly being exported with -T parameter. This makes
-I work without assert-crashing. |
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 |
23bdbb7b1831785c6ba6df190f6369da882d2b9d |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Require comparisons to be strict boolean expressions
* No implicit integer -> boolean or pointer -> boolean conversions
* !expr can be used only if expr is boolean type
These were checked with a patched clang. It found various actual bugs,
which were fixed by the previous commits. |
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] |
03af8e5325a7b4fec36414ac35949457bc426c0b |
|
12-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Don't export header hashes if remote mailbox is empty.
This avoids doing a lot of work of reading through all mails' headers and
hashing them, when the hashes aren't actually going to be used for anything. |
e1bef591ed45c5baf6b5bdc69fb7fa5ff05df2b6 |
|
28-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Avoid finishing importer successfully on exporter failures.
At least dsync_mailbox_import_changes_finish() could have been called when
exporter was already failed. |
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/' |
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. |
b0a06fd1ca37f4626037a62be5c7f0ce12395013 |
|
13-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
dsync: Added an extra assert. |
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> |
ac51b12850a6740c2152e4e78cf2abe3aa620391 |
|
13-Nov-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Set MAILBOX_TRANSACTION_FLAG_SYNC also for exporter.
This doesn't really do much because exporter shouldn't be writing anything,
but it allows plugins to find out if transactions is coming from dsync. |
d519a0449d0e536a32db93305516fdbd7db6773d |
|
29-Sep-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Added DSYNC_BRAIN_FLAG_NO_MAIL_PREFETCH to avoid opening mails unnecessarily. |
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. |
07c8b1b48eba7ad2693dbfeaa9916d837f006262 |
|
20-Mar-2014 |
Timo Sirainen <tss@iki.fi> |
dsync: Avoid unnecessary data stack memory usage. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
c954cd9d0702a9633a8f2f62bb2593b7e8c19574 |
|
17-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Tell search that we want to fetch mail streams so prefetching works. |
95de57450afe1e92a6dd57538fba4db0925fa43b |
|
17-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Set wanted_fields/headers for the whole search request when possible. |
f97c983e7a742e1d54ec60e502093abbb3ad2907 |
|
16-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Give hints to lib-storage about what fields we're going to fetch. |
723f7be99e6de0f3905394283679acde0f1f2cce |
|
24-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed "export:/count" value in verbose_proctitle=yes |
47255691575e06a1c95ce78ff0a1b502199de3ab |
|
24-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: If verbose_proctitle=yes, show the current state in it. |
237a6211c7fc4d6dbb58dd0467da6dba1b8f21f6 |
|
13-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes. |
791fb70b3255a11a91ce0c2dc3ae1460d4cf8459 |
|
05-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
Make static analyzer happier. |
789cb161ef9cb3126e6370c87a21a5a844d7dd0b |
|
31-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed syncing without GUIDs. |
3d651cf1a2171471bf6f0a41dcf7388d43206636 |
|
20-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Fixed retrying a search when GUIDs aren't available. |
d8bdf558c7ba173fc47a194633d9bd97af1b9c74 |
|
20-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Don't crash when requested mail doesn't have a GUID. |
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. |
55d33f807765482eb47374aaaced1fe714e0b256 |
|
14-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Added support for syncing mailbox attributes. |
d9b9687bf8cae9cfb070b1b7aadefa683220269f |
|
16-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Various importer fixes. Handle unexpectedly wrong mailbox state better. |
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. |
f5d3d7a0e1e517c6dff9bb1750334c8d9e4dce99 |
|
28-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: When syncing locally, mailbox_copy() the mail to attempt a fast copy. |
113ad88e9506a02dfa6fc7f4927c47272cf1b461 |
|
10-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Attempt to preserve \Recent flag as well |
a5bf21895bda5a7d6e9015e3ba820ce87b93639f |
|
08-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Assert-crashfix for handling keywords. |
6abf66a3731d52889517bd644595c540e3a9b3ec |
|
04-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Use private modseqs to support syncing private flags in shared mailboxes. |
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. |
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. |
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. |