Hi all, I'm migrating my private mail server from Dovecot 1.0.10 to Dovecot 1.1.4 (both the latest package in Ubuntu Hardy and Intrepid, resp.). I'm using Postfix with Postfixadmin virtual users , passing mail to Dspam, which in turn passes email to the Dovecot LDA. The relevant configuration section is attached below. When running on the old version of Dovecot, the LDA correctly executed either the user's personal sieverc script, or the global sieverc, as expected. However, after the upgrade to 1.1.4, Dovecot will not execute any per-user Sieve scripts, although the configuration and file permissions hasn't changed. I've added debug logging to Dovecot, and the relevant portions of the log file are also attached below. What am I missing here? Why can't cmusieve find the user's script? Did the configuration for Sieve change? I've read and re-read the Dovecot wiki page for Sieve, and I can't see why my configuration should be causing any troubles. All help or suggestions are greatly appreciated. Thank you. ### dovecot.conf protocols = imap imaps disable_plaintext_auth = no mail_debug = yes log_path = /var/log/dovecot.log info_log_path = /var/log/dovecot.log mail_location = maildir:/srv/mail/%u/Maildir first_valid_uid = 900 ssl_cert_file = /srv/ssl/dovecot.pem ssl_key_file = /srv/ssl/leetcode.net.key auth default { mechanisms = plain login passdb sql { args = /srv/etc/dovecot/dovecot-mysql.conf } userdb sql { args = /srv/etc/dovecot/dovecot-mysql.conf } socket listen { master { path = /var/run/dovecot/auth-master mode = 0600 user = vmail } client { path = /var/spool/postfix/private/auth mode = 0600 user = postfix group = postfix } } } protocol lda { log_path = /srv/mail/dovecot-deliver.log auth_socket_path = /var/run/dovecot/auth-master postmaster_address = postmaster at leetcode.net mail_plugins = cmusieve sieve_global_path = /srv/mail/sieverc plugin { sieve = /srv/mail/%u/sieverc } } ### end dovecot.conf ### dovecot.log deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: Loading modules from directory: /usr/lib/dovecot/modules/lda deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: Module loaded: /usr/lib/dovecot/modules/lda/lib90_cmusieve_plugin.so deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: auth input: jreese at leetcode.net deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: auth input: maildir=jreese at leetcode.net/ deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: auth input: uid=900 deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: auth input: gid=900 deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: maildir: data=/srv/mail/jreese at leetcode.net/Maildir deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: maildir++: root=/srv/mail/jreese at leetcode.net/Maildir, index=, cont> deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: cmusieve: /srv/mail/%u/sieverc doesn't exist deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: cmusieve: Using sieve path: /srv/mail/sieverc deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: cmusieve: Executing script /srv/mail/sievercc ### end dovecot.log -- John Reese LeetCode.net
You need to update your sieve plugin This question is best asked on ubuntu list, since these versions are VERY old. you could of course dpkg and remove them, and use the current stable sources for both. It is hard to support users of distros that persist in having ancient "current" versions. On Sun, 2009-01-25 at 01:09, John Reese wrote:> Hi all, > > I'm migrating my private mail server from Dovecot 1.0.10 to Dovecot > 1.1.4 (both the latest package in Ubuntu Hardy and Intrepid, resp.). > > I'm using Postfix with Postfixadmin virtual users , passing mail to > Dspam, which in turn passes email to the Dovecot LDA. The relevant > configuration section is attached below. > > When running on the old version of Dovecot, the LDA correctly executed > either the user's personal sieverc script, or the global sieverc, as > expected. > > However, after the upgrade to 1.1.4, Dovecot will not execute any > per-user Sieve scripts, although the configuration and file permissions > hasn't changed. I've added debug logging to Dovecot, and the relevant > portions of the log file are also attached below. > > What am I missing here? Why can't cmusieve find the user's script? Did > the configuration for Sieve change? I've read and re-read the Dovecot > wiki page for Sieve, and I can't see why my configuration should be > causing any troubles. > > All help or suggestions are greatly appreciated. > > Thank you. > > ### dovecot.conf > > protocols = imap imaps > disable_plaintext_auth = no > > mail_debug = yes > log_path = /var/log/dovecot.log > info_log_path = /var/log/dovecot.log > > mail_location = maildir:/srv/mail/%u/Maildir > first_valid_uid = 900 > > ssl_cert_file = /srv/ssl/dovecot.pem > ssl_key_file = /srv/ssl/leetcode.net.key > > auth default { > mechanisms = plain login > > passdb sql { > args = /srv/etc/dovecot/dovecot-mysql.conf > } > userdb sql { > args = /srv/etc/dovecot/dovecot-mysql.conf > } > > socket listen { > master { > path = /var/run/dovecot/auth-master > mode = 0600 > user = vmail > } > > client { > path = /var/spool/postfix/private/auth > mode = 0600 > user = postfix > group = postfix > } > } > } > > protocol lda { > log_path = /srv/mail/dovecot-deliver.log > auth_socket_path = /var/run/dovecot/auth-master > postmaster_address = postmaster at leetcode.net > mail_plugins = cmusieve > sieve_global_path = /srv/mail/sieverc > > plugin { > sieve = /srv/mail/%u/sieverc > } > } > > ### end dovecot.conf > > ### dovecot.log > > deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: Loading modules from > directory: /usr/lib/dovecot/modules/lda > deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: Module loaded: > /usr/lib/dovecot/modules/lda/lib90_cmusieve_plugin.so > deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: auth input: > jreese at leetcode.net > deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: auth input: > maildir=jreese at leetcode.net/ > deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: auth input: uid=900 > deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: auth input: gid=900 > deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: maildir: > data=/srv/mail/jreese at leetcode.net/Maildir > deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: maildir++: > root=/srv/mail/jreese at leetcode.net/Maildir, index=, cont> > deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: cmusieve: > /srv/mail/%u/sieverc doesn't exist > deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: cmusieve: Using > sieve path: /srv/mail/sieverc > deliver(jreese at leetcode.net): Jan 24 14:30:40 Info: cmusieve: Executing > script /srv/mail/sievercc > > ### end dovecot.log
one more thing. On Sun, 2009-01-25 at 01:09, John Reese wrote:> > protocol lda { > log_path = /srv/mail/dovecot-deliver.log > auth_socket_path = /var/run/dovecot/auth-master > postmaster_address = postmaster at leetcode.net > mail_plugins = cmusieve > sieve_global_path = /srv/mail/sieverc > > plugin { > sieve = /srv/mail/%u/sieverc > }Have you tried this sieve= ... in the global plugin segment, not in LDA?
On 01/24/2009 09:05 PM, Noel Butler wrote:> Did you try that plugin entry in the global > plugin { } and remove it from LDA?I tried adding it to global, and it didn't change anything, but then I just realized that I still had it in LDA, and so once I removed that part, and only have the configuration in global, it works! Thank you very much for your help Noel. :) Cheers -- John Reese LeetCode.net