# HG changeset patch # User Timo Sirainen # Date 1186489034 -10800 # Node ID 8d4fa6f0b7e6dc49821b666901bf4a83f4153498 # Parent 30c77009ba7314a88287e90cdada9bacc3d9e260 Released v1.1.alpha2. diff -r 30c77009ba73 -r 8d4fa6f0b7e6 NEWS --- a/NEWS Tue Aug 07 15:16:49 2007 +0300 +++ b/NEWS Tue Aug 07 15:17:14 2007 +0300 @@ -6,14 +6,11 @@ * Empty passwords in passdb doesn't allow user to log in with any password anymore. To do that you'll also need to set nopassword extra field. + * PAM always works in blocking=yes mode now. If you have problems + with memory leaks, change auth_worker_max_request_count setting. + IMAP: Added support for UIDPLUS and LIST-EXTENDED extensions. + IMAP SORT: Sort keys are indexed, which makes SORT commands faster. - + IMAP THREAD: Threads are indexed into a dovecot.index.thread file. - It can usually be updated incrementally, so this makes THREAD fast. - + Added Dovecot-specific X-REFERENCES2 threading algorithm. - It's similar to REFERENCES, but it doesn't do base subject merging - and it sorts the threads by their newest message. + When saving messages, update cache file immediately with the data that we expect client to fetch later. + NFS attribute and data caches are are flushed whenever needed. @@ -39,6 +36,11 @@ + Quota plugin rewrite: Support for multiple quota roots, warnings, allow giving storage size in bytes or kilo/mega/giga/terabytes, per-mailbox quota rules. + + Filesystem quota backend supports inode limits, group quota and + RPC quota for NFS. + + SEARCH and SORT finally compare all characters case-insensitively. + We use i;unicode-casemap algorithm. + + Config files support splitting values to multiple lines with \ v1.0.0 2007-04-13 Timo Sirainen diff -r 30c77009ba73 -r 8d4fa6f0b7e6 TODO --- a/TODO Tue Aug 07 15:16:49 2007 +0300 +++ b/TODO Tue Aug 07 15:17:14 2007 +0300 @@ -1,13 +1,6 @@ - - command didn't cancel itself: STATUS - - allow sql plugins + - SORT: Invalid input is supposed to be sorted last. - indexes: are cache prev_offsets updated right? - mmap_disable: updated cache header doesn't invalidate other processes' cache? - - rquotad support for FS quota - - filesystem group quota patch - - userdb lookups aren't verifying / translating usernames - - message-header-decode.h API: Add support for returning UTF-8 decoded strings - directly. - - Fix Sieve plugin to decode headers using it - maildir+pop3/deliver fast updates: - with locking enabled, pop3 could just keep the one and same sync lock and @@ -31,8 +24,6 @@ - maildir_copy_preserve_filename=yes has a race condition causing "Append with UID n, but next_uid = y" errors when quota plugin is loaded. Practically won't happen except in stress testing. - - maildir_copy_with_hardlinks=yes is problematic with shared folders where - the file mode should change.. - mbox - UID renumbering doesn't really work after all? @@ -70,8 +61,6 @@ - EXPUNGE command in read-only mailbox should give an error message if there are messages marked as \Deleted? - dovecot -o setting=something overriding - - vmailmgr patch - - managesieve patch - file_cache: we're growing the mmap in page size blocks, which is horribly slow if mremap() doesn't exist. - login_max_processes_count shouldn't count proxying processes @@ -147,7 +136,6 @@ - lib-storage - rename: allow moving between storages, as long as they're of same type - x search charset asdf all -> should fail - - subscribe: IMAP(anonymous): open(anonymous/mail/.temp...) failed: Permission denied - should we allow following symlinks in mbox/maildirs? they are now. - if we implement shared mailboxes with shared indexes, never do that or others could symlink your personal mailboxes and see the indexes @@ -186,7 +174,6 @@ - non-plaintext authentication doesn't support all features: - multiple passdbs don't work, only the first one is used - auth cache's last_success password change check doesn't exist - - checkpassword should use passdb-blocking - remove system_user and allow returning multiple gids instead. - SIGHUP restarts auth processes .. but does it wait until they've finished with all requests? no. @@ -215,7 +202,6 @@ the next_uid field with the current highest next_uid. Whenever we have assumed UIDs and uidlist gets updated, throw the client out with "inconsist mailbox". - - if storage=0 is given, use unlimited quota but track it anyway - ssl - add setting: ssl_options = bitmask. by default we enable all openssl @@ -223,30 +209,18 @@ - gnutls support isn't working - search - - message header search: we should ignore LWSP between two MIME blocks - - message_body_search() could accept multiple search keywords so we + - message header search: we should ignore LWSP between two MIME blocks(?) + - message_search_init() could accept multiple search keywords so we wouldn't need to call it separately for each one (so we wouldn't need to parse the message multiple times). - - message_body_search() could support NULL MessagePart and the searching - could be done while parsing the message. this would need changes to - message_parse() as well. - could optionally support scanning inside file attachments and use plugins to extract text out of them (word, excel, pdf, etc. etc.) - - use a trie index for fast text searching, like cyrus squat? - Create our own extension: When searching with TEXT/BODY, return the message text surrounding the keywords just like web search engines do. like: SEARCH X-PRINT-MATCHES TEXT "hello" -> * SEARCH 1 "He said: Hello world!" 2 "Hello, I'm ...". This would be especially useful with the above attachment scanning. - - lib-charset - - utf8_toupper() is a must. and a bit difficult if we want to do it right. - - add support for other things than iconv() as well? we could reuse - the code from cyrus or courier - - cache iconvs? they'd probably be faster if we just reset the - conversion instead of opening new one every time. and there will likely - be only one or two charsets which are used for nearly all conversions. - - deliver - recipient_delimiter setting so user+mailbox@domain works directly @@ -261,16 +235,6 @@ - ability to build plugins statically into the binaries - ~/.dovecotrc to override system wide settings. namespace settings should override all the previous namespace settings instead of adding new. - - option to disable SORT, SEARCH and other memory/cpu-intensive features. - defaults and per-user by dovecot-auth. - - dotlock overriding is racy, but it's pretty difficult to fix it. Also - overriding someone else's dotlock in shared folder isn't possible. These - could be fixed by having separate lock process running as root, which - would chown() the file for another uid and then unlink() it as that user. - One problem with that is that if malicious user sets setuid+execute bits - on for the file, he could run the file and get changed to the new uid. - That hopefully shouldn't matter much since the new uid should be user - with minimum possible privileges. Anyway, optional.. - things break if next_uid gets to 2^32 capabilities: diff -r 30c77009ba73 -r 8d4fa6f0b7e6 configure.in --- a/configure.in Tue Aug 07 15:16:49 2007 +0300 +++ b/configure.in Tue Aug 07 15:17:14 2007 +0300 @@ -1,5 +1,5 @@ AC_PREREQ([2.59]) -AC_INIT([dovecot],[1.1.alpha1],[dovecot@dovecot.org]) +AC_INIT([dovecot],[1.1.alpha2],[dovecot@dovecot.org]) AC_CONFIG_SRCDIR([src]) AM_INIT_AUTOMAKE