Changes since beta12:
- Half of LDAP code was rewritten to fix reconnect/queuing problems. I did
test that the new code works with and without auth binds, but be careful.
- \Recent flags should finally work correctly with maildir.
- last_used field wasn't updated for cache fields that were permanently
cached. This caused them to be dropped after a month.
TODO for RC1:
- When pipelining commands, do only one sync after all of them. Besides
improving performance, this fixes some rare problems when multiple commands
are running simultaneously.
- SEARCH/SORT: Replace invalid input with unicode "replacement character"
instead of just skipping it.
- Squat: Handle expunges. NFS support.
- Fix Lucene support.
This release fixes a lot of bugs and adds some new sanity checks. Fixes
quite a lot of mbox problems.
v1.1.beta11 (no other versions) had a potential security hole where
memory was free()d multiple times.
\Recent flags should work perfectly now with mbox. Still somewhat broken
with maildir.
This one should be the last beta release before the first v1.1 release
candidate.
The main things left in my TODO are:
- Squat indexes should handle expunges
- Lucene indexes are broken
- See if \recent flag handling could be fixed for maildir/mbox (it works for
dbox though)
- Some other minor things which I'll do if I have time, but won't block v1.1.0
release.
Changes since beta10:
- One major performance issue found and fixed. This was the main reason why we
weren't yet in release candidate stage.
- configure --with-package now gives an error if it can't find the necessary
libs/headers for the package. Use --with-package=auto for the old behavior.
- Memory leak fixes
- Convert plugin fixes. Conversion is now done to namespace with INBOX.
- Changes to handling group adding/removing to processes. Hopefully didn't
break anything.
- Message flag/keyword searches are now faster
- Fixes/optimizations to handling SORT. After building initial indexes, my
260k mail mailbox sorts in about 0.01 seconds. :)
- Fixes to searching mails with unknown charsets/invalid data
- deliver_log_format setting
Changes since beta9:
- dotlock_use_excl=yes is now the default. I think this should work in all NFS
setups that are in use nowadays. O_EXCL has worked since NFSv3.
- fs quota: Added "noenforcing" option
- Fixed compiling with non-gcc
- Fixed quota plugin crash
- Lots of fixes to handling message searches, especially related to non-ASCII
searches.
And most importantly: It includes the new Squat full text search indexing code.
There are a few things left in my TODO for it:
- It's currently used only to optimize root level AND searches. So for example
SEARCH (OR TEXT hello TEXT world) is still searched the slow way.
- Expunged messages are never removed from the indexes
- The index could be updated while messages are being saved, but this isn't
done yet.
- Indexed substring length is hardcoded to 4 characters. This should be
configurable, although I think 4 should work quite nicely.
Lucene plugin is probably completely broken now, but it was also in beta9.
Some changes since beta8:
- This release should work perfectly with NFS attribute cache enabled.
- Fixes to handling what should be written to cache file and when
- Some index handling optimizations
- IMAP LIST: dbox and cydir can now return children state
Changes since beta7:
- Added a new "raw" mail storage backend which allows opening files/streams as
single mail mailboxes. deliver uses this now instead of opening the incoming
mail as a mbox. So deliver should be now faster and it doesn't anymore remove
Dovecot's private mbox headers if you're not using mbox.
- Cache file tracks message expunges again
- All kinds of other fixes
- Some optimizations
I think we're getting closer to v1.1 RCs.
Changes since beta6:
- Beginnings of unit tests
- Message parsing fixes
- Cache file handling fixes
Known bugs:
- Cache file doesn't keep track of how much it contains deleted data, which
means it could grow infinitely. This worked at some point, so I'm not sure
what I did to break it. I'll figure it out later.
- Apparently for some use cases v1.1 is still slower (about 2x) than v1.0.
Probably more or less specific to NFS + mmap_disable=yes.
Fixes since beta5:
- dovecot.index.cache file wasn't actually being created/updated
(or something like that)
- SORT assert-crashed sometimes when sorting by string fields [this
was already fixed in pkgsrc version of dovecot 1.1beta5]
- etc.
APPEND should be working now. Also lots of fixes to handling namespace
prefixes and namespaces where virtual separator differs from real
separator.
zlib plugin now supports opening compressed maildir files. This is done
for files that have Z flag.
SORT still assert-crashes sometimes. Would be great if someone could
show me how to reproduce it. [*** fixed in patches/patch-ad ***]
SEARCH TEXT or Squat indexes apparently still have some problems, but I
couldn't reproduce them
(http://dovecot.org/list/dovecot/2007-October/026254.html).
Lots of fixes since beta3, but apparently there are still a few bugs left:
- Is SORT working?
- APPEND seems to have problems in some setups.
- Still some SEARCH TEXT problems? Or Squat indexing problems?
Changes since beta2:
- SORT fixes. Still buggy?
- If Date: header doesn't exist or is broken, fallback to INTERNALDATE (as
required by newer sort drafts, which I hadn't noticed before, v1.0.6 will
have this too)
- Log fatals/panics as such, instead of converting them to errors.
- Don't bother logging "returned error 89" if the child process logged a fatal
before that.
- dovecot.index.cache file may have been updated wrong when saving messages
causing all kinds of problems if it was
- Some crashfixes
"Several bug/crashfixes. deliver now supports -a parameter (see
http://wiki.dovecot.org/LDA) which allows Sieve plugin v1.1.2 to use
envelope :detail "to" checks.
I also did one more API change for mailbox_transaction_commit*().
There's probably something still wrong with SORT command, but other
than that I've fixed everything that's been reported."
Also this release can again be built with BSD make.
backslashes anymore. A single backslash is enough. Changed the
definition in all affected packages. For those that are not caught, an
additional check is placed into bsd.pkginstall.mk.
to replace mail/dovecot at some point in the future.
Funny version numbering is used here to make this package dewey-comparable
against mail/dovecot; 1.0.alphaN is "dovecot-0.99.99.N".
testing)
- change USE_OPENLDAP (which is avtually security/gnupg option) to
DOVECOT_USE_LDAP, add similar DOVECOT_USE_PGSQL for PostgreSQL support
- misc cleanups and fixes
At this point the package should be ready to import.
- create dovecot user/group
- add official distribution patches
- generate modules part of PLIST dynamically, it can differ depending on OS
- better check for USE_OPENLDAP
TODO:
- provide sane default configuration file
- update to the latest version, 0.99.9.1
- we have EGDIR defined, so actually use it
- don't install example configuration twice
- require LOGIN so user credentials are really present at the startup,
don't hardcode /bin/sh, use @RCD_SCRIPTS_SHELL@ instead
- sync PLIST with reality and sort
- DESCR has 80 columns
TODO:
- provide more useful default configuration file
- create dovecot user/group
- create /var/run/dovecot with appropriate permissions for runtime data
Dovecot is a secure and compact IMAP/POP3 server which is in the early
stages of developement. It supports Maildirs and mbox formats and much
of the IMAP v4 protocol including SSL/TLS. IPv6 support is also
included.
http://dovecot.procontrol.fi/