# HG changeset patch # User Timo Sirainen # Date 1227479689 -7200 # Node ID 072edbdb810245577bebd4cb92b58075c0b47435 # Parent cee696a953200ed5c5dc6248e20c187ea5761b97 Updated diff -r cee696a95320 -r 072edbdb8102 NEWS --- a/NEWS Mon Nov 24 00:08:03 2008 +0200 +++ b/NEWS Mon Nov 24 00:34:49 2008 +0200 @@ -2,7 +2,11 @@ * SQL dictionary (quota) configuration file is different than in v1.1. See doc/dovecot-dict-sql-example.conf for the new format. + * deliver -m: Mailbox name is now assumed to be in UTF-8 format, + not modified-UTF7. Stephan Bosch's new Sieve implementation also + assumes UTF-8 format in fileinto parameters. + + Full support for shared mailboxes and IMAP ACL extension. + IMAP: Added support for extensions: CONDSTORE, QRESYNC, ESEARCH, SEARCHRES, WITHIN, ID and CONTEXT=SEARCH. + SEARCH supports INTHREAD search key, but the rest of the INTHREAD @@ -10,6 +14,7 @@ + THREAD X-REFERENCES2 algorithm where threads are sorted by their latest message instead of the thread root message. There is also no base subject merging. + + IMAP: Implemented imap-response-codes draft. + Thread indexes for optimizing IMAP THREAD command and INTHREAD search key. + Added userdb checkpassword (by Sascha Wilde) diff -r cee696a95320 -r 072edbdb8102 TODO --- a/TODO Mon Nov 24 00:08:03 2008 +0200 +++ b/TODO Mon Nov 24 00:34:49 2008 +0200 @@ -1,8 +1,36 @@ - - implement draft-gulbrandsen-imap-response-codes + - solr: escape '/' in usernames + - virtual: "Searched n% of the mailbox" gives broken numbers since + ctx->seq jumps around + - how do shared mailboxes work with plugins? + - expire: not too well. would require knowing the mapping between shared + namespace and the original user's namespace to avoid duplication. + - lazy-expunge, fts, etc.? + - dovecot-acl-list: + - how does it work with global acls? + - update immediately after SETACL: add/remove entries, update timestamps + - read the entire file to memory only once and keep it there, stat() later + to see if it has changed. if not, perhaps don't even bother stat()ing + dovecot-acl files? at least not that often.. + - virtual mailboxes search: search index-only stuff first. save all incomplete + results to a list. sort the list by backend mailbox + backend UID. search + the stuff in that order. somehow make fts searches work by doing the search + for each backend mailbox rather than for the virtual mailbox + - virtual mailboxes: backend mailbox where to save mails if they're tried to + be saved to the virtual mailbox. + - acl example in wiki with acl_dict = file:/var/mail/%d/dovecot.shared + - change auth_worker_max_request_count to non-zero by default? at least with + PAM it should be non-zero.. perhaps remove the entire setting and make it + a pam args? + - add anonymous environment for anon logins + - fs quota: getquotaroot inbox vs. other-box should return different quotas + if two quotas are defined + - deliver: log mailbox name using utf8, not mutf7 - new primes code: are hash tables now being resized too often? - auth_log_prefix setting similar to mail_log_prefix - LDAP attrs: uid=foo,uid=bar doesn't work + - easily limit master users to be able to only log as other users within + their domain - thread indexes: if we expunge a duplicate message-id: and we have a sibling with identical message-id:, we can probably just move the children? (unless there are non-sibling duplicates) @@ -11,10 +39,12 @@ - QRESYNC: Drop expunges from the middle of given seq sets if possible - use universal hash functions? + - expire plugin: log more with mail_debug=yes + - expire-tool -v could log UID and expire timestamps and what messages got + expunged - mbox + in-memory indexes give errors with stress testing - dict quota: syncing may cause quota recalculation, which in turn syncs all mailboxes and then we'll assert-crash to avoid infinite looping - - sieve: mailbox names should be utf-7 encoded - fts-squat: support ORs - UIDVALIDITY changed while saving -> sync errors - mbox: copy to Trash, manually delete copied msg, change uidvalidity, @@ -48,7 +78,6 @@ - DEBUG: buffer overflow checking code probably doesn't handle a successful t_try_realloc() or pool_alloconly_realloc() properly - cache: compress when we can drop temporary fields. - - ACL: "foo/bar" in public namespace -> LIST "" % doesn't show "foo" - new %modifier for reverse DNS lookups with a cache - auth_gssapi_hostname = %Xl - proxying would also want DNS lookups, but not reverse.. @@ -259,7 +288,6 @@ capabilities: - THREAD=ORDEREDSUBJECT - although pretty useless I'd think. - - acl (rfc4314) - mailbox-referrals (rfc2193) - this is useful whenever we would otherwise need to make the connection ourself. for example load balancing and shared mailboxes