I am testing dovecot 1.1 betas on a testing system, hoping to take advantage of self repairing and NFS-capable indexes when 1.1 is sensible to put into production. I ran into a number of issues that I did not have with 1.0, and I think I'll just pick one or more at a time and report them rather than try to report every single issue at once, hoping that some of the fixes will solve more than one problem.
I started with 1.1b2 just for record, but the issues seem to be present in 1.1b3 as well. I realized yesterday that using the acl plugin may be complicating my testing and results, so I have disabled it for now and am connecting with plaintext IMAP just so I can sniff connections and see what is happening. I am running it on FreeBSD 6.2-stable from Sep 19 2007.
First my dovecot -n output: # 1.1.beta3: /usr/local/etc/dovecot.conf ssl_cert_file: /usr/local/etc/apache2/ssl/ssl.pem ssl_key_file: /usr/local/etc/apache2/ssl/ssl.pem disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login verbose_proctitle: yes first_valid_uid: 1000 first_valid_gid: 0 mail_location: maildir:%h/Maildir:CONTROL=%h/Maildir/dovecot/private/control:INDEX=%h/Maildir/dovecot/private/indexes mail_debug: yes mmap_disable: yes mail_nfs_storage: yes mail_nfs_index: yes mail_plugins: mail_log mail_log_max_lines_per_sec: 0 imap_client_workarounds: delay-newmail netscape-eoh tb-extra-mailbox-sep namespace: type: private separator: / prefix: mail/ location: maildir:%h/Maildir:CONTROL=%h/Maildir/dovecot/private2/control:INDEX=%h/Maildir/dovecot/private2/indexes hidden: yes list: yes namespace: type: private separator: / inbox: yes list: yes auth default: mechanisms: plain login passdb: driver: pam userdb: driver: passwd socket: type: listen client: path: /var/spool/postfix/private/auth mode: 384 user: postfix group: postfix plugin: acl: vfile:/usr/local/etc/dovecot-acls
The first thing I did was to try to update my dovecot.conf from 1.0 to work with 1.1. When I started dovecot 1.1 for the first time, I noticed it was listening to 143 but not 993, even though my config was designed for ssl/tls in 1.0 without any listen ports specified:
# netstat -a | grep LISTEN | grep imap tcp4 0 0 *.imap *.* LISTEN
So, I thought I would try specifying the ports in the config:
protocol imap { listen = *:143 ssl_listen = *:993 # .. }
Success!
# netstat -a | grep LISTEN | grep imap tcp4 0 0 *.imaps *.* LISTEN tcp4 0 0 *.imap *.* LISTEN
Initially I was then testing using ACLs, but I disabled it to simplify.
One of the more basic problems I've seen is the behavior from "list = no/yes". For the sake of simplicity and example, I've disabled most of the additional public and private namespaces from my 1.0 config.
I have some private namespaces with prefix "mail/" and "Mail/" that I wish to provide for users for compatability with clients set with those prefixes. In dovecot 1.0, this worked as expected:
namespace: type: private separator: / prefix: mail/ hidden: yes
But in 1.1b2 or b3, I never seem to get a list of the contents under mail/ when I tell mutt to default to servername/mail/ as the default folder path.
Cases:
hidden = yes list = yes
a0006 LIST "" "mail"
- LIST (\Noselect \HasChildren) "/" "mail" a0006 OK List completed. a0007 LIST "" "mail/%" a0007 OK List completed.
mutt lists contents of only "../" and selecting it brings me to the imap root with the expected folders. When ../ is followed, I see all my folders as well as all my folders repeated under mail/ prefix.
hidden = yes list = no
a0006 LIST "" "mail" a0006 OK List completed. a0007 LIST "" "mail/%" a0007 OK List completed.
mutt claims "No such folder"
hidden = no list = yes
a0006 LIST "" "mail"
- LIST (\Noselect \HasChildren) "/" "mail" a0006 OK List completed. a0007 LIST "" "mail/%" a0007 OK List completed.
mutt lists contents of only "../" and selecting it brings me to the imap root with the expected folders. When ../ is followed, I see all my folders as well as all my folders repeated under mail/ prefix.