[Dovecot] v2.2.0 released
http://dovecot.org/releases/2.2/dovecot-2.2.0.tar.gz http://dovecot.org/releases/2.2/dovecot-2.2.0.tar.gz.sig
Everything now seems to be stable and working in v2.2, so I can finally move onto developing great new interesting features for v2.3. :)
My company has also launched a web shop where you can buy various products. One of them is cheap access to Dovecot enterprise edition repositories, which are basically same as regular Dovecot releases, except they are kept patched with the latest important bugfixes. We currently have releases for RHEL/CentOS 5 and 6, Debian Squeeze and Ubuntu 12.04 LTS. By buying Dovecot-EE you'll also get a 30 day demo license for object storages, if you want to try it out. http://shop.dovecot.fi/
* When creating home directories, the permissions are copied from the
parent directory if it has setgid-bit set. For full details, see
http://wiki2.dovecot.org/SharedMailboxes/Permissions
* "doveadm auth" command was renamed to "doveadm auth test"
* IMAP: ID command now advertises server name as Dovecot by default.
It was already trivial to guess this from command replies.
* dovecot.index.cache files can be safely accessed only by v2.1.11+.
Older versions may think they're corrupted and delete them.
* LDA/LMTP: If saving a mail brings user from under quota to over
quota, allow it based on quota_grace setting (default: 10%
above quota limit).
* pop3_lock_session=yes now uses a POP3-only dovecot-pop3-session.lock
file instead of actually locking the mailbox (and causing
IMAP/LDA/LMTP to wait for the POP3 session to close).
* mail_shared_explicit_inbox setting's default switched to "no".
* ssl_client_ca_dir setting replaced imapc_ssl_ca_dir and
pop3c_ssl_ca_dir settings.
+ Implemented IMAP MOVE and BINARY extensions
+ Implemented IMAP CATENATE, URLAUTH and URLAUTH=BINARY extensions
(by Stephan Bosch).
+ Implemented IMAP NOTIFY extension. Requires mailbox_list_index=yes
to be enabled.
+ Redesigned and rewritten dsync. The new design makes the syncing
faster, more reliable and more featureful. The new dsync protocol
isn't backwards compatible with old dsync versions (but is designed
to be forwards compatible with future versions).
+ All mailbox formats now support per-user message flags for shared
mailboxes by using a private index. It can be enabled by adding
:INDEXPVT=<path> to mail location. This should be used instead of
:INDEX also for Maildir/mbox to improve performance.
+ Improved mailbox list indexes. They should be usable now, although
still disabled by default.
+ Added LAYOUT=index. The mailbox directories are created using their
GUIDs in the filesystem, while the actual GUID <-> name mapping
exists only in the index.
+ LMTP proxy: Implemented XCLIENT extension for passing remote IP
address through proxy.
When doing a server side message body search I got this in the logs:
Apr 14 22:32:24 imap(support@junkemailfilter.com): Panic: file message-parser.c: line 698 (preparsed_parse_prologue_more): assertion failed: (ctx->part->children != NULL) Apr 14 22:32:24 imap(support@junkemailfilter.com): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x5f45a) [0x7f6eab1d745a] -> /usr/lib/dovecot/libdovecot.so.0(+0x5f4a6) [0x7f6eab1d74a6] -> /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f6eab197d4f] -> /usr/lib/dovecot/libdovecot.so.0(+0x52863) [0x7f6eab1ca863] -> /usr/lib/dovecot/libdovecot.so.0(message_parser_parse_next_block+0x29) [0x7f6eab1ca349] -> /usr/lib/dovecot/libdovecot.so.0(message_search_msg+0x5d) [0x7f6eab1cc51d] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x9d558) [0x7f6eab4d5558] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_search_args_foreach+0x3c) [0x7f6eab4acc3c] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x9d289) [0x7f6eab4d5289] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x9e2fd) [0x7f6eab4d62fd] -> /usr/lib/dovecot/libdovecot-storage.so.0(index_storage_search_next_nonblock+0xe8) [0x7f6eab4d6938] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_search_next_nonblock+0x27) [0x7f6eab4b1057] -> dovecot/imap support@junkemailfilter.com 127.0.0.1 UID SEARCH [0x41a78f] -> dovecot/imap support@junkemailfilter.com 127.0.0.1 UID SEARCH [0x41abf9] -> dovecot/imap support@junkemailfilter.com 127.0.0.1 UID SEARCH [0x40ff75] -> dovecot/imap support@junkemailfilter.com 127.0.0.1 UID SEARCH [0x414f5d] -> dovecot/imap support@junkemailfilter.com 127.0.0.1 UID SEARCH [0x4140c0] -> dovecot/imap support@junkemailfilter.com 127.0.0.1 UID SEARCH [0x4141ad] -> dovecot/imap support@junkemailfilter.com 127.0.0.1 UID SEARCH [0x41442d] -> dovecot/imap support@junkemailfilter.com 127.0.0.1 UID SEARCH [0x41479f] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f6eab1e63a6] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xa7) [0x7f6eab1e7407] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x28) [0x7f6eab1e6348] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f6eab19ca03] -> dovecot/imap support@junkemailfilter.com 127.0.0.1 UID SEARCH [0x41d997] -> /lib64/libc.so.6(__libc_start_main+0xfd) [0x7f6eaadfecdd] -> dovecot/imap support@junkemailfilter.com 127.0.0.1 UID SEARCH [0x40a4d9] Apr 14 22:32:24 imap(support@junkemailfilter.com): Fatal: master: service(imap): child 28156 killed with signal 6 (core dumps disabled)
On 15.4.2013, at 8.35, Marc Perkel <marc@perkel.com> wrote:
When doing a server side message body search I got this in the logs:
Apr 14 22:32:24 imap(support@junkemailfilter.com): Panic: file message-parser.c: line 698 (preparsed_parse_prologue_more): assertion failed: (ctx->part->children != NULL)
You can reproduce this? What if you delete that mailbox's dovecot.index.cache and search twice after that?
On 4/15/2013 2:09 AM, Timo Sirainen wrote:
I deleted all index files in location INDEX=/email/imap-cache/%d-%n - same result.
I then deleted these files:
-rw------- 1 mail mail 41 Mar 21 2007 dovecot-keywords -rw------- 1 mail mail 694046 Apr 15 06:20 dovecot-uidlist -rw------- 1 mail mail 8 Dec 5 07:58 dovecot-uidvalidity -rw------- 1 mail mail 0 Apr 1 2009 dovecot-uidvalidity.49d3bf54
The search still didn't work but there was no crash report in the logs. When I say the search didn't work it found nothing and it returned way to fast.
On 4/15/2013 2:09 AM, Timo Sirainen wrote:
New update - tried it again and got the error in the logs:
Apr 15 06:40:28 imap-login: Info: Login: user=<support@junkemailfilter.com>, method=PLAIN, rip=::1, lip=::1, mpid=11228, secured, session=<82RcZWbaRgAAAAAAAAAAAAAAAAAAAAAB> Apr 15 06:40:28 imap(support@junkemailfilter.com): Panic: file message-parser.c: line 698 (preparsed_parse_prologue_more): assertion failed: (ctx->part->children != NULL) Apr 15 06:40:28 imap(support@junkemailfilter.com): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x5f45a) [0x7f6d585bf45a] -> /usr/lib/dovecot/libdovecot.so.0(+0x5f4a6) [0x7f6d585bf4a6] -> /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f6d5857fd4f] -> /usr/lib/dovecot/libdovecot.so.0(+0x52863) [0x7f6d585b2863] -> /usr/lib/dovecot/libdovecot.so.0(message_parser_parse_next_block+0x29) [0x7f6d585b2349] -> /usr/lib/dovecot/libdovecot.so.0(message_search_msg+0x5d) [0x7f6d585b451d] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x9d558) [0x7f6d588bd558] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_search_args_foreach+0x3c) [0x7f6d58894c3c] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x9d289) [0x7f6d588bd289] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x9e2fd) [0x7f6d588be2fd] -> /usr/lib/dovecot/libdovecot-storage.so.0(index_storage_search_next_nonblock+0xe8) [0x7f6d588be938] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_search_next_nonblock+0x27) [0x7f6d58899057] -> dovecot/imap support@junkemailfilter.com ::1 UID SEARCH [0x41a78f] -> dovecot/imap support@junkemailfilter.com ::1 UID SEARCH [0x41abf9] -> dovecot/imap support@junkemailfilter.com ::1 UID SEARCH [0x40ff75] -> dovecot/imap support@junkemailfilter.com ::1 UID SEARCH [0x414f5d] -> dovecot/imap support@junkemailfilter.com ::1 UID SEARCH [0x4140c0] -> dovecot/imap support@junkemailfilter.com ::1 UID SEARCH [0x4141ad] -> dovecot/imap support@junkemailfilter.com ::1 UID SEARCH [0x41442d] -> dovecot/imap support@junkemailfilter.com ::1 UID SEARCH [0x41479f] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f6d585ce3a6] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xa7) [0x7f6d585cf407] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x28) [0x7f6d585ce348] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f6d58584a03] -> dovecot/imap support@junkemailfilter.com ::1 UID SEARCH [0x41d997] -> /lib64/libc.so.6(__libc_start_main+0xfd) [0x7f6d581e6cdd] -> dovecot/imap support@junkemailfilter.com ::1 UID SEARCH [0x40a4d9] Apr 15 06:40:28 imap(support@junkemailfilter.com): Fatal: master: service(imap): child 11228 killed with signal 6 (core dumps disabled)
These files were recreated:
-rw-rw---- 1 mail mail 48 Apr 15 06:40 dovecot-keywords -rw-rw---- 1 mail mail 678358 Apr 15 06:40 dovecot-uidlist
On Mon, 2013-04-15 at 06:43 -0700, Marc Perkel wrote:
There's one mail that causes this crash. Any chance you can find that and send it to me? Would make fixing it a bit easier. For example you can probably find it with:
doveadm exec imap -u support@junkemailfilter.com a select inbox b search 1:100 text foobar
And then move around in the 1:100 range until you find the mail. Then you can get the mail (e.g. 123) with:
doveadm fetch -u support@junkemailfilter.com text mailbox inbox 123 > email.txt
On Mon, 2013-04-15 at 17:10 +0300, Timo Sirainen wrote:
I don't think it is a very common problem actually, I just happened to have such mail in my inbox. This fixes it: http://hg.dovecot.org/dovecot-2.2/rev/b38d5ebacf25
On 15.4.2013, at 18.55, list@airstreamcomm.net wrote:
Does the new obox plugin support any of the open source object storage systems such as openstack, glusterfs, or ceph? From your store site it does not appear so.
Glusterfs isn't really object storage (unless they've changed since I last looked at them), and it already more or less works with Dovecot using the existing mailbox formats. Except last I heard it still caused index file corruption.
Openstack Swift support is coming. There's a half-working version of it already, would need just a day or two to finish it up.
I haven't looked at Ceph closely yet, but it would be nice to support it as well.
obox can also be used with a regular POSIX filesystem, although it loses the prefetching capabilities then. So it could be used with e.g. Glusterfs or NFS to provide an efficient local cache. I've also thought about trying out if prefetching could be done by creating new "diskio" processes with a ton of threads doing the actual disk I/O.
On 4/15/2013 6:16 PM, Timo Sirainen wrote:
Looks like Openstack support would imply GlusterFS Object Storage support:
http://gluster.org/community/documentation/index.php/About33
Regards,
Stephan
On 2013-06-12 4:45 AM, stefan novak <lms.brubaker@gmail.com> wrote:
is there any documentation about the obox plugin? is it already included in the 2.2.tar.gz?
It is a *commercial* extension to dovecot - meaning, it costs money.
I think it is an excellent way for Timo to monetize his incredible efforts with dovecot.
--
Best regards,
Charles
participants (13)
-
Andreas Kasenides
-
Andreas Meyer
-
Charles Marcus
-
e-frog
-
Emmanuel Dreyfus
-
Jan Phillip Greimann
-
list@airstreamcomm.net
-
Marc Perkel
-
Mark Sapiro
-
Odhiambo Washington
-
stefan novak
-
Stephan Bosch
-
Timo Sirainen