Warning: Corrected permissions for login directory /var/run/dovecot/login ls -l /var/run/dovecot srw-rw-rw- 1 root root 0 Aug 10 15:02 auth-master srw------- 1 mail mail 0 Aug 10 15:02 auth-worker.2774 srwxrwxrwx 1 root root 0 Aug 10 15:02 dict-server lrwxrwxrwx 1 root root 17 Aug 10 15:02 dovecot.conf -> /etc/dovecot.conf drwxr-x--- 2 root dovecot 4096 Aug 10 15:02 login -rw------- 1 root root 5 Aug 10 15:02 master.pid
Everything works, eventually. All mail will sooner or later get delivered, using dovecot LDA from postfix, but these errors rampage the log several times. I recently added managesieve, expires, and finished the quota which I thought was achived by simply having quota_rule as a result of mysql.
Aug 10 15:07:57 server1 dovecot: IMAP(someone@sheltoncomputers.com): read(/var/run/dovecot/dict-server) failed: Timeout after 30 seconds Aug 10 15:07:57 server1 dovecot: dict: Fatal: dict_driver_register(mysql): Already registered Aug 10 15:08:09 server1 last message repeated 4428 times
On another note, Thunderbird is starting to get on my nerves, sending this message before I was finished.
Here is the relevant config:
dovecot-mysql query:
user_query = SELECT CONCAT('/home/mail/', mailboxes.domain, '/', mailboxes.username, '/') AS home, CONCAT('/home/mail/', mailboxes.domain, '/', mailboxes.username, '/sieve/', mailboxes.username, '.sieve') as sieve, CONCAT('/home/mail/', mailboxes.domain, '/', mailboxes.username, '/sieve/') as sieve_dir, CONCAT('/home/mail/', mailboxes.domain, '/', mailboxes.username, '/mail/') AS maildir, uid AS uid, gid AS gid, CONCAT('maildir:storage=', ROUND(mailboxes.quota/1200), 'M') AS quota_rule, 'Trash:ignore' AS quota_rule2 FROM mail.mailboxes WHERE username = '%n' AND domain = '%d' AND active = '1'
dovecot.conf: protocol managesieve { listen = localhost:2001 managesieve_implementation_string = dovecot managesieve_logout_format = bytes ( in=%i : out=%o ) mail_executable = /usr/libexec/dovecot/managesieve login_executable = /usr/libexec/dovecot/managesieve-login }
auth_debug = no auth default {
mechanisms = plain login
passdb sql { args = /etc/dovecot/dovecot-mysql.conf # scheme = cram-md5 } userdb sql { args = /etc/dovecot/dovecot-mysql.conf } user = mail socket listen { client { path = /var/spool/postfix/private/auth user = postfix group = postfix mode = 0660 } master { path = /var/run/dovecot/auth-master mode = 0666 } } } dict { # # NOTE: dict process currently runs as root, so this file will be owned as root. expire = mysql:/etc/dovecot/dict-expire.conf quotadict = mysql:/etc/dovecot/dict-quota.conf }
plugin { quota = dict:user::proxy::quotadict
expire = Trash 7 Trash/* 7 Spam 30 expire_dict = proxy::expire expire_altmove = * 2555
sieve_global_path = /home/mail/sieve/global.sieve sieve_global_dir = /home/mail/sieve sieve_dir=/home/mail/%d/%n/sieve
}
As said, everything works, eventually, but mail delivery is delayed a lot. With The dict {} and expire-related parts commented out, operation has no errors or delays; performance is exceptional with maildir, quota, sieve, and managesieve. I don't think managesieve would patch any part of the dictionary code as it only has to do with another service process, not a plugin; if the patching was to cause problems with other services, for the service definition coding, the other services would have a problem, correct?
The expires dictionary mysql table was being correctly used, with one day of use, as there are 10000 records; I'm going to have to revise the mysql indexes for performance in case I am able to fix the dictionary problem. We like the 1.2.13 version of dovecot, as far as security, and wonder how I can find a correct defintion scripting for the dict {}, from a previous version, and merge. We are use to windows compilations. I am skeptical to go to dovecot 2.0 as our services are in production and 2.0 is beta.
I have recompiled several times with fresh sources of dovecot 1.2.13, managesieve 0.11.11 patchl, and sieve 1.0.17 as directed by the Dovecot Wiki.
Jerrale G, SCA