http://dovecot.org/releases/2.2/rc/dovecot-2.2.29.rc1.tar.gz http://dovecot.org/releases/2.2/rc/dovecot-2.2.29.rc1.tar.gz.sig
Planning to release v2.2.29 on Monday. Please find and report any bugs before that.
- When Dovecot encounters an internal error, it logs the real error and usually logs another line saying what function failed. Previously the second log line's error message was a rather uninformative "Internal error occurred. Refer to server log for more information." Now the real error message is duplicated in this second log line.
- lmtp: If a delivery has multiple recipients, run autoexpunging only for the last recipient. This avoids a problem where a long autoexpunge run causes LMTP client to timeout between the DATA replies, resulting in duplicate mail deliveries.
- config: Don't stop the process due to idling. Otherwise the configuration is reloaded when the process restarts.
- mail_log plugin: Differentiate autoexpunges from regular expunges
- imapc: Use LOGOUT to cleanly disconnect from server.
- lib-http: Internal status codes (>9000) are no longer visible in logs
- director: Log vhost count changes and HOST-UP/DOWN
- quota: Add plugin { quota_max_mail_size } setting to limit the maximum individual mail size that can be saved.
- imapc: Add imapc_features=delay-login. If set, connecting to the remote IMAP server isn't done until it's necessary.
- imapc: Add imapc_connection_retry_count and imapc_connection_retry_interval settings.
- imap, pop3, indexer-worker: Add (deinit) to process title before autoexpunging runs.
- Added %{encrypt} and %{decrypt} variables
- imap/pop3 proxy: Log proxy state in errors as human-readable string.
- imap/pop3-login: All forward_* extra fields returned by passdb are sent to the next hop when proxying using ID/XCLIENT commands. On the receiving side these fields are imported and sent to auth process where they're accessible via %{passdb:forward_*}. This is done only if the sending IP address matches login_trusted_networks.
- imap-login: If imap_id_retain=yes, send the IMAP ID string to auth process. %{client_id} expands to it in auth process. The ID string is also sent to the next hop when proxying.
- fts-tika: Fixed crash when parsing attachment without Content-Disposition header. Broken by 2.2.28.
- trash plugin was broken in 2.2.28
- auth: When passdb/userdb lookups were done via auth-workers, too much data was added to auth cache. This could have resulted in wrong replies when using multiple passdbs/userdbs.
- auth: passdb { skip & mechanisms } were ignored for the first passdb
- oauth2: Various fixes, including fixes to crashes
- dsync: Large Sieve scripts (or other large metadata) weren't always synced.
- Index rebuild (e.g. doveadm force-resync) set all mails as \Recent
- imap-hibernate: %{userdb:*} wasn't expanded in mail_log_prefix
- doveadm: Exit codes weren't preserved when proxying commands via doveadm-server. Almost all errors used exit code 75 (tempfail).
- ACLs weren't applied to not-yet-existing autocreated mailboxes.
- Fixed a potential crash when parsing a broken message header.
- cassandra: Fallback consistency settings weren't working correctly.
- doveadm director status <user>: "Initial config" was always empty
- imapc: Various reconnection fixes.
On Apr 6, 2017, at 1:33 PM, Timo Sirainen <tss@iki.fi> wrote:
Planning to release v2.2.29 on Monday. Please find and report any bugs before that.
I'm seeing still seeing the assert that started showing up for me with 2.2.28 (https://www.dovecot.org/pipermail/dovecot/2017-February/107250.html)
Below I generate it using doveadm with dovecot 2.2.29rc1 (output slightly cleaned up so the backtrace is easier to read)
% sudo doveadm index -A \* doveadm(dluke): Panic: file mailbox-list.c: line 1159 (mailbox_list_try_mkdir_root): assertion failed: (strncmp(root_dir, path, strlen(root_dir)) == 0) doveadm(dluke): Error: Raw backtrace: 2 libdovecot.0.dylib 0x000000010cfed284 default_fatal_finish + 36 -> 3 libdovecot.0.dylib 0x000000010cfed05d default_fatal_handler + 61 -> 4 libdovecot.0.dylib 0x000000010cfed5a9 i_panic + 169 -> 5 libdovecot-storage.0.dylib 0x000000010ce49677 mailbox_list_try_mkdir_root + 1207 -> 6 libdovecot-storage.0.dylib 0x000000010ce49759 mailbox_list_mkdir_root + 25 -> 7 lib21_fts_lucene_plugin.so 0x000000010ee6ab39 fts_backend_lucene_update_set_build_key + 73 -> 8 lib20_fts_plugin.so 0x000000010d2017cf fts_backend_update_set_build_key + 79 -> 9 lib20_fts_plugin.so 0x000000010d2027a7 fts_build_mail + 1479 -> 10 lib20_fts_plugin.so 0x000000010d20795a fts_mail_precache + 794 -> 11 libdovecot-storage.0.dylib 0x000000010ce2ff59 mail_precache + 25 -> 12 doveadm 0x000000010cd319df cmd_index_run + 1007 -> 13 doveadm 0x000000010cd2c0e5 doveadm_mail_next_user + 421 -> 14 doveadm 0x000000010cd2d6f5 doveadm_mail_cmd_exec + 645 -> 15 doveadm 0x000000010cd2d32d doveadm_cmd_ver2_to_mail_cmd_wrapper + 1629 -> 16 doveadm 0x000000010cd3c696 doveadm_cmd_run_ver2 + 1046 -> 17 doveadm 0x000000010cd3c257 doveadm_cmd_try_run_ver2 + 55 -> 18 doveadm 0x000000010cd3ef79 main + 1001 -> 19 libdyld.dylib 0x00007fff93655235 start + 1 Abort
-- Daniel J. Luke
On Apr 7, 2017, at 3:01 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
this is mbox & lucene
for mbox and lucene, there is a workaround, which is to create directory under the INDEXES directory called lucene-indexes.
This way the directory creation is not attempted, this is a known bug, but just hasn't been fixed yet.
That directory already exists.
mail_location = mbox:~/Mail/:INBOX=~/.mbox
% ls -l ~/Mail/.imap/lucene-indexes/ total 429344 -rw------- 1 dluke dluke 209M Apr 6 11:12 _30ms.cfs -rw------- 1 dluke dluke 1.0M Apr 7 08:10 _30rt.cfs -rw------- 1 dluke dluke 7.2K Apr 7 08:10 _30ru.cfs -rw------- 1 dluke dluke 6.3K Apr 7 08:11 _30rv.cfs -rw------- 1 dluke dluke 7.6K Apr 7 08:11 _30rw.cfs -rw------- 1 dluke dluke 3.8K Apr 7 10:57 _30rx.cfs -rw------- 1 dluke dluke 3.8K Apr 7 10:58 _30ry.cfs -rw------- 1 dluke dluke 3.8K Apr 7 10:58 _30rz.cfs -rw------- 1 dluke dluke 2.3K Apr 7 10:58 dovecot-expunges.log -rw------- 1 dluke dluke 20B Apr 7 10:58 segments.gen -rw------- 1 dluke dluke 244B Apr 7 10:58 segments_6214
When running 2.2.27 this doesn't happen.
Daniel J. Luke
On Apr 7, 2017, at 11:17 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
Sure, that fixes that, but I end up with lots of log messages like:
2017-04-07 11:43:53.958590-0400 localhost log[5770]: (libdovecot.0.dylib) indexer-worker(dluke): Error: Syncing mailbox lucene-indexes/_0.cfs failed: Mailbox isn't a valid mbox file
(and the lucene-indexes "folder" appears in Mail.app, which is going to confuse some of my users)
-- Daniel J. Luke
On Apr 7, 2017, at 11:54 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
So.. as workaround, you *could* move indexes to separate directory, using INDEXES= parameter. And move the lucene-indexes to this folder. But thank you, this helps a bit.
I'm happy to do anything else to test if you'd like.
I did go ahead and set INDEXES and can confirm that this does work around the bug.
-- Daniel J. Luke
Hi Daniel,
https://github.com/dovecot/core/compare/c42ec3f%5E...2bc82f0.patch
we believe this fixes your issue.
Aki
participants (3)
-
Aki Tuomi
-
Daniel J. Luke
-
Timo Sirainen