We have now some new big features:
Beginnings of dbox mailbox format. It should work, but if you happen to delete/break index files, the mails aren't found again. So really not a good idea to use it for more than testing.
GSSAPI (Kerberos 5) support by Jelmer Vernooij with some fixes by pod@herald.ox.ac.uk
Added dictionary API to Dovecot, similar to what Postfix has. It can be used for getting/setting key=value pairs, which can be useful for many different purposes. For example it could be used to store mailbox metadata for ANNOTATEMORE extension. Implemented SQL backend for it. In future there should be berkeley DB backend at least.
Also there could be some kind of proxy backend which would use UNIX socket to connect to dictionary server doing the actual work. This way each imap/lda process wouldn't have to connect to SQL server themself.
Quota plugin is now included. We also have now dictionary based quota support, which means the quota limits and values can be stored in SQL. However I haven't actually tested these changes yet, so there's a good chance the quota plugin doesn't actually work at all.
Created a new trash plugin which works only together with quota plugin. The point of it is to expunge mails from a list of configurable mailboxes whenever saving new mails would cause the account to go over quota. The oldest mails are expunged first, and only as many mails are expunged as is needed to save the new mail.
For configuration it first looks up for ~/.dovecot.trash.conf, and then fallbacks to /etc/dovecot-trash.conf. The file format is "<priority> <mailbox name>". It's possible to have multiple mailboxes with same priority. Lower number = higher priority. This plugin is also currently untested.
The plugins are currently installed as shared libraries to plugin directory. At some point I'll add a configure option to select which plugins to compile directly into binaries. Possibly even do it by default for some plugins (quota).
And smaller new features:
If LDAP lookup fails because connection gets closed, try retrying it again after reconnect. This is however untested, hopefully didn't break LDAP code completely..
%w variable in dovecot-auth contains password. Can be used to do eg.: password_query = select null as password from users where userid = '%u' and password = password('%w')
syslog_facility setting
And fixes:
- auth_cache was quite broken
- adding keywords caused sometimes assert-crash
- If login_greeting_capability = yes we could have sent the capability before dovecot-auth returned what auth mechanisms were available, forcing clients to use plaintext authentication
- Lots of mbox fixes again..
- userdb prefetch wasn't supposed to be uncommented in dovecot-example.conf in alpha4. Comment it out if you don't need it.
- Don't crash with "out of memory" in 64bit systems
- IDLE command might have crashed when finishing itself if there were lots of external changes
- pop3_reuse_xuidl setting wasn't actually working