dovecot-2.0: Released v2.0.beta4.

dovecot at dovecot.org dovecot at dovecot.org
Mon Mar 22 02:11:42 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/38e98c234af5
changeset: 10968:38e98c234af5
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Mar 22 01:49:27 2010 +0200
description:
Released v2.0.beta4.

diffstat:

 TODO         |  40 ++++++++++++++++++++++++++++------------
 configure.in |   2 +-
 2 files changed, 29 insertions(+), 13 deletions(-)

diffs (100 lines):

diff -r 56fd824b1d65 -r 38e98c234af5 TODO
--- a/TODO	Mon Mar 22 01:46:17 2010 +0200
+++ b/TODO	Mon Mar 22 01:49:27 2010 +0200
@@ -1,19 +1,27 @@
- - config process is handling requests too slowly. maybe add some caching.
- - config: ssl=no, ssl_cert=</not-exists fails everything
- - protocol lda { userdb { ..} }
- - master users: see how it works with anvil / max connection limits / doveadm who
+19295): Error: dbox map /home/tss/mdbox/storage/dovecot.map.index corrupted: Unexpectedly lost INBOX uid=1083397 map_uid=2001404
+ ^ fixed, but it should continue breaking like:
+19295): Warning: dbox /home/tss/mdbox/storage: rebuilding indexes
+19295): Error: fcntl(write-lock) locking failed for file /home/tss/mdbox/mailboxes/INBOX/dbox-Mails/dovecot.index.log: Resource deadlock avoided
+19295): Error: mail_index_wait_lock_fd() failed with file /home/tss/mdbox/mailboxes/INBOX/dbox-Mails/dovecot.index.log: Resource deadlock avoided
+19295): Warning: dbox /home/tss/mdbox/storage: rebuilding indexes
+20162): Panic: file index-sync.c: line 40 (index_mailbox_set_recent_uid): assertion failed: (seq_range_exists(&ibox->recent_flags, uid))
+
+ - single-dbox:
+    - we get back to sdbox_sync_file() over and over again when expunging..
+      especially with a broken guid expunge, it doesn't go away.
+ - fts-solr: handle DELETE, RENAME. use mailbox GUIDs (optionally)
 
  - virtual: removed messages don't get expunged unless EXPUNGE is issued in
    same session. otherwise they get forgotten and never removed.
  - mdbox
-    - storage rebuild can't be done in destroy(), namespaces are gone by then
-        - use mailbox_close(). check that no transactions are open. maybe
-	  something like only when mailbox_count == 1?
+    - purging seems to be inefficient. run imaptest for a while, get >500
+      files, start purging, it's slow until there are about 100 files left,
+      then the rest is suddenly fast.
+    - make sure that when reading mdbox mails sequentially the data is being
+      read from disk in n kB blocks and reads cross mail boundaries and when
+      reading the next mail it uses the previously read data in buffer
     - Add some kind of checksum about data+metadata and use it when checking
       consistency
-    - single-dbox is still buggy?
-    - dbox: we get back to dbox_sync_file() over and over again when expunging..
-      especially with a broken guid expunge, it doesn't go away.
     - figure out a way to efficiently trigger purging when user has too much
       mail expunged (e.g. keep track of total storage size, trigger purging
       when it's 2*quota limit)
@@ -23,6 +31,7 @@
       it. like when saving the lowest file_id which to bother checking.
     - test crash-fixing
     - mail_index_fsck() should perhaps cause dbox to be resynced?
+    - optimize away reading file header?
  - maildir: out-of-disk-space failures apparently cause all kinds of
    problems, e.g. "Expunged message reappeared", "Duplicate file entry"?
  - quota_warn: add $QUOTA_LIMIT environment or %variable parameter
@@ -31,8 +40,15 @@
  - expire plugin could support also "archive" operation = move to another mailbox
  - istream-seekable is inefficient. it shouldn't be reading the temp file
    immediately after writing to it
+ - config process is handling requests too slowly. maybe add some caching.
+    - maybe config should return all of the protocol/local/remote overrides
+      when requested? then the caller could do a single lookup at start and
+      merge them later internally. this would really help login processes.
+ - ipv6: auth penalty should begin from /64 and gradually grow to /48 if
+   necessary. and the same could be done for ipv4 as well..
 
  - dsync:
+   - DSYNC_MAILBOX_FLAG_DELETED_DIR isn't handled at all
    - subscriptions syncing doesn't handle mixed hierarchy separators
    - are \noselect mailboxes replicated correctly?
    - Can't rename mailbox INBOX_019acf2169c5784b307f000074ccac23 to INBOX: Target mailbox already exists
@@ -50,7 +66,6 @@
    add it to cache afterwards.
  - move ssl proxying code to lib-master
  - proxy: verify ssl cert's cname
- - o_stream_set_file_path()
  - dict pooling
 
 	/* currently non-external transactions can be applied multiple times,
@@ -67,7 +82,6 @@
  - i_panic("Message count decreased") happens - why?
      - at least one backtrace shows client_destroy -> client_command_cancel ->
        imap_sync_deinit
- - fts-solr: handle DELETE, RENAME
  - fsck -> log_file_tail_offset 2273345664 -> 996 ->
    mail-transaction-log.c: line 341 (mail_transaction_log_set_mailbox_sync_pos):
    assertion failed: (file_offset >= log->head->saved_tail_offset)
@@ -206,6 +220,8 @@
  - index
     - read-only support for mailboxes where we don't have write-access
     - index file format changes:
+        - split to "old" and "new" indexes and try to avoid loading "old" into
+	  memory until needed
 	- pack UIDs to beginning of file with UID ranges
 	- use squat-like compressed uid ranges everywhere
         - write first extension intros in dovecot.index.log always with names
diff -r 56fd824b1d65 -r 38e98c234af5 configure.in
--- a/configure.in	Mon Mar 22 01:46:17 2010 +0200
+++ b/configure.in	Mon Mar 22 01:49:27 2010 +0200
@@ -1,5 +1,5 @@
 AC_PREREQ([2.59])
-AC_INIT([Dovecot],[2.0.beta3],[dovecot at dovecot.org])
+AC_INIT([Dovecot],[2.0.beta4],[dovecot at dovecot.org])
 AC_CONFIG_SRCDIR([src])
 
 AM_INIT_AUTOMAKE([foreign])


More information about the dovecot-cvs mailing list