http://dovecot.org/releases/2.0/alpha/dovecot-2.0.alpha3.tar.gz http://dovecot.org/releases/2.0/alpha/dovecot-2.0.alpha3.tar.gz.sig
Nothing horribly exciting since alpha2, but since I did other releases I thought I might as well release this one too.
Most of the stuff in master.conf is now built into binaries so the file itself is small. dovecot -n also doesn't show the defaults anymore.
Settings now have size and time types. So instead of always wondering if the units are bytes or kilobytes or megabytes, you can just use e.g. 100k, 100M values. And the same for 100 secs, 100 mins, 100 hours, etc.
verbose_proctitle=yes was pretty useless in alpha2 after the pre/post-login changes. I've now enabled Linux proctitle hack that allows changing process title (in ps). It now shows e.g. the current command being executed by imap process. There is also some hope of getting a proper setproctitle() function to Linux, the patch just got to -mm code tree today!
anvil process now stays alive across SIGHUPs. So "doveadm who" no longer forgets users after SIGHUP.
remote_ip IP {} and local_ip IP {} changed to remote host|IP {} and local host|IP {}, i.e. if it's not an IP Dovecot does host name lookup.
Using host names is also important to get TLS SNI working. With TLS SNI support if client supports it, you can serve multiple certificates with a single IP address.
LMTP server adds now Received: header
Fixes to LMTP server
Fixes to dsync
Some of the larger changes left:
- plugin API probably needs to be changed, so that it's possible to handle multiple users by same process but with different plugins
- config process is too slow
- rawlog no longer works because of how pre/post-login works now. it probably needs to be changed into a service and configured something like:
service imap-rawlog { executable = rawlog imap-real /home/%u unix_listener imap { } }
service imap { unix_listener imap-real { } }
The point would be that when imap-login connects to imap, it actually connects to rawlog which then connects to imap-real and starts proxying the connection. A few problems:
userdb lookup is done by imap process, so rawlog doesn't know user's home directory. Perhaps more code could be added so that rawlog requests imap process to send it back, but maybe that's too much trouble. That's why I thought just adding a 3rd /home/%u parameter, where rawlog expands %u to username since that's at least known.
Currently it's not possible to remove default internal unix_listeners, so the above config wouldn't actually work anyway. I guess there needs to be some new syntax like "!unix_listener imap" or something that removes it..
Then again, a nice thing about this is that the rawlog will work with all types of services, even imap-logins, although that's going to be almost useless for SSL connections.