[Dovecot] v1.1.rc6 released
http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz.sig
This is it. The first v1.1 release that actually deserves the "release candidate" name. It contains everything I require from v1.1.0 release. There are two bugs left that I'd like to get fixed, but they won't block v1.1.0 release:
- index_mailbox_set_recent_uid() assert (reported by Diego Liziero)
- Maildir not always finding new messages and returning them as empty (reported by Anders).
The major change in v1.1.rc6 release is the SORT indexing half-rewrite. I hadn't much stress tested that code before, and once I started I just kept finding more and more weird bugs and it became extremely difficult to figure out how to fix them, so I finally decided to just redesign how it's supposed to work and then implemented that.
The resulting sort code is a lot cleaner and it should also perform better (although it could still be improved a bit: the basic binary searching could be replaced with one that first binary searches between already-looked-up sort-strings and only after that binary searches the resulting space which requires slower sort-string lookups). Hopefully there are also no stupid bugs left like returning messages in wrong sort order. :)
I've been wasting time this past week getting new stuff for my new apartment, but that's nearly done now. I think (hope) I'm going to be more productive in here, there are less neighbours behind walls/floors (just 1), so less potential for annoying noises. :) Thinking also seems to work better when there's more space to walk around.
And finally, the changes since v1.1.rc5:
* Index file format changed a bit. If an older Dovecot v1.1 reads
index files updated by rc6+, they may give "Invalid header record
size" or "ext reset: invalid record size" warnings. v1.0 won't give
these errors.
* IMAP: LIST .. RETURN (X-STATUS) command return now LIST entries
before STATUS entries.
* zlib plugin: Uncompress if the message begins with zlib header
instead of looking at the 'Z' flag. This fixes copying with hard
links. Based on a patch by Richard Platel.
+ IMAP: SORT index handling code was half-rewritten to fix several bugs
when multiple sessions were sorting at the same time. The new code is
hopefully also faster.
+ Maildir: If POP3 UIDL extra field is found from dovecot-uidlist,
it's used instead of the default UIDL format (or X-UIDL: header).
This allows easily preserving UIDLs when migrating from other POP3
servers. Patch by Nicholas Von Hollen @ Mailtrust.
+ Maildir: ,W=<vsize> is now always added to maildir filenames
+ deliver: Avoid reading dovecot-uidlist's contents if possible.
+ Added %T modifier = Trim whitespace from end of string
- IMAP: Fixed some bugs in LIST-EXTENDED implementation.
- IMAP: If client tries to change the selected mailbox state while
another command is still running, wait until the command is finished.
This fixes some crashes and other unwanted behavior.
- allow_nets userdb setting was broken with big endian CPUs
Hi Timo,
I had just tested rc5 today and it didn't work for me. So I just downloaded rc6 and same problem. Here's what I'm seeing in the log.
dovecot: May 29 19:10:10 Error: IMAP(support@junkemailfilter.com): mail_location: maildir: Unknown setting: dovecot: May 29 19:10:10 Fatal: IMAP(support@junkemailfilter.com): Namespace initialization failed dovecot: May 29 19:10:10 Error: IMAP(marc@perkel.com): mail_location: maildir: Unknown setting: dovecot: May 29 19:10:10 Fatal: IMAP(marc@perkel.com): Namespace initialization failed dovecot: May 29 19:10:10 Info: imap-login: Login: user=marc@perkel.com, method=PLAIN, rip=24.143.247.50, lip=65.49.42.45, TLS dovecot: May 29 19:10:10 Error: IMAP(support@junkemailfilter.com): mail_location: maildir: Unknown setting: dovecot: May 29 19:10:10 Fatal: IMAP(support@junkemailfilter.com): Namespace initialization failed
mail_location = maildir:/vhome/%d/home/%n::INDEX=/nobackup/imap-cache/%d-%n
If this isn't a compatible setting then it should be documented here.
http://wiki.dovecot.org/Upgrading/1.1
I was going to give the passwd-file authentication a test s that I know that it works with my weird configuration.
On May 30, 2008, at 5:15 AM, Marc Perkel wrote:
I had just tested rc5 today and it didn't work for me. So I just
downloaded rc6 and same problem. Here's what I'm seeing in the log.dovecot: May 29 19:10:10 Error: IMAP(support@junkemailfilter.com):
mail_location: maildir: Unknown setting: dovecot: May 29 19:10:10 Fatal: IMAP(support@junkemailfilter.com):
Namespace initialization failed dovecot: May 29 19:10:10 Error: IMAP(marc@perkel.com):
mail_location: maildir: Unknown setting: dovecot: May 29 19:10:10 Fatal: IMAP(marc@perkel.com): Namespace
initialization failed dovecot: May 29 19:10:10 Info: imap-login: Login: user=, method=PLAIN, rip=24.143.247.50, lip=65.49.42.45, TLS dovecot: May 29 19:10:10 Error: IMAP(support@junkemailfilter.com):
mail_location: maildir: Unknown setting: dovecot: May 29 19:10:10 Fatal: IMAP(support@junkemailfilter.com):
Namespace initialization failedmail_location = maildir:/vhome/%d/home/%n::INDEX=/nobackup/imap- cache/%d-%n
You've :: in the middle, which is most likely causing it. I can't
think of anything I've done since rc5 that would have touched that
part of the code though.
Thanks - that fixed it. It appears to be working but I'm scream testing it. If my phone starts ringing then it's broken. :)
Timo Sirainen wrote:
On May 30, 2008, at 5:15 AM, Marc Perkel wrote:
I had just tested rc5 today and it didn't work for me. So I just downloaded rc6 and same problem. Here's what I'm seeing in the log.
dovecot: May 29 19:10:10 Error: IMAP(support@junkemailfilter.com): mail_location: maildir: Unknown setting: dovecot: May 29 19:10:10 Fatal: IMAP(support@junkemailfilter.com): Namespace initialization failed dovecot: May 29 19:10:10 Error: IMAP(marc@perkel.com): mail_location: maildir: Unknown setting: dovecot: May 29 19:10:10 Fatal: IMAP(marc@perkel.com): Namespace initialization failed dovecot: May 29 19:10:10 Info: imap-login: Login: user=marc@perkel.com, method=PLAIN, rip=24.143.247.50, lip=65.49.42.45, TLS dovecot: May 29 19:10:10 Error: IMAP(support@junkemailfilter.com): mail_location: maildir: Unknown setting: dovecot: May 29 19:10:10 Fatal: IMAP(support@junkemailfilter.com): Namespace initialization failed
mail_location = maildir:/vhome/%d/home/%n::INDEX=/nobackup/imap-cache/%d-%n
You've :: in the middle, which is most likely causing it. I can't think of anything I've done since rc5 that would have touched that part of the code though.
On Fri, 2008-05-30 at 03:39 +0300, Timo Sirainen wrote:
http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz.sig
This is it. The first v1.1 release that actually deserves the "release candidate" name. It contains everything I require from v1.1.0 release.
I took the opportunity and made the antispam plugin work, but I only lightly tested it, I need to review and see if it doesn't leak mail references/memory.
johannes
Hi
I will try the plugin because i have been who most problems has had.
Regards.
2008/5/30 Johannes Berg johannes@sipsolutions.net:
On Fri, 2008-05-30 at 03:39 +0300, Timo Sirainen wrote:
http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz.sig
This is it. The first v1.1 release that actually deserves the "release candidate" name. It contains everything I require from v1.1.0 release.
I took the opportunity and made the antispam plugin work, but I only lightly tested it, I need to review and see if it doesn't leak mail references/memory.
johannes
Timo Sirainen schreef:
http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz.sig Previous managesieve wont compile against rc6, so I made a quick new release (expecting rc7 to arrive soon):
http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.rc6-managesieve-0.10.2.diff.... http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.rc6-managesieve-0.10.2.diff....
Regards,
Stephan.
On Fri, 30 May 2008, Stephan Bosch wrote:
Timo Sirainen schreef:
http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz.sig Previous managesieve wont compile against rc6, so I made a quick new release (expecting rc7 to arrive soon):
http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.rc6-managesieve-0.10.2.diff.... http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.rc6-managesieve-0.10.2.diff....
Out of curiosity, have you considered maintaining your managesieve work using a Mercurial branch off Timo's tree? I think that might be easier for you, and I think it might make things easier for others using your patch.
You could use "hg bisect" to find the exact commits of his that break your patch, which would presumably be nice for you.
And, it would be a nice little application of distributed revision control that Timo's working with.
As always, thanks for this!
-- Asheesh.
-- Spiritual leadership should remain spiritual leadership and the temporal power should not become too important in any church. -- Eleanor Roosevelt
Asheesh Laroia wrote:
On Fri, 30 May 2008, Stephan Bosch wrote:
Timo Sirainen schreef:
http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz http://dovecot.org/releases/1.1/rc/dovecot-1.1.rc6.tar.gz.sig Previous managesieve wont compile against rc6, so I made a quick new release (expecting rc7 to arrive soon):
http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.rc6-managesieve-0.10.2.diff....
http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.rc6-managesieve-0.10.2.diff....
Out of curiosity, have you considered maintaining your managesieve work using a Mercurial branch off Timo's tree? I think that might be easier for you, and I think it might make things easier for others using your patch.
You could use "hg bisect" to find the exact commits of his that break your patch, which would presumably be nice for you.
And, it would be a nice little application of distributed revision control that Timo's working with. Actually, I am already using mercurial. I use the quilt-like Mercurial Queues to maintain the patches and the v1.1 managesieve implementation is a loose repository. However, thus far I did not publish the repositories because the new (highly experimental) Sieve implementation is located there as well. I'll equip the Sieve implementation with some extra documentation and warnings to prevent people from installing this work-in-progress on production systems and then I'll give you the public hg url. So, as a bonus you can then get a sneak peak into my progress towards a first release of the new Sieve implementation.
Regards,
Stephan.
participants (6)
-
Asheesh Laroia
-
Johannes Berg
-
Juan Asensio Sánchez
-
Marc Perkel
-
Stephan Bosch
-
Timo Sirainen