[Dovecot] Filtering with Public Namespaces and Sieve Plugin
Hi,
after upgrading to Dovecot 1.2x including the rewritten Sieve plugin replacing 'cmusieve', messages which have formerly been filed to a "Public/Mailing-List" maildir are no longer filtered correctly. The sieve script itself is included in the user's personal-script. The messages are dropped to the INBOX rather than the "Public Namespace Maildir". Log's don't give a hint (at least to me). The documentation says the personal script should automatically fetch the include, and compile it in the users home...
Debug log excerpt:
2009-07-30 10:44:09 deliver(xxxx): Info: Namespace: type=public, prefix=Public/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no 2009-07-30 10:44:09 deliver(xxxx): Info: maildir: data=/var/vmail/public:CONTROL=~/maildir/public:INDEX=~/maildir/public 2009-07-30 10:44:09 deliver(xxxx): Info: maildir++: root=/var/vmail/public, index=/var/vmail/leuxner.net/tlx/maildir/public, control=/var/vmail/leuxner.net/tlx/maildir/public, inbox= 2009-07-30 10:44:09 deliver(xxxx): Info: sieve: using sieve path for user's script: /var/vmail/leuxner.net/tlx/.dovecot.sieve 2009-07-30 10:44:09 deliver(xxxx): Info: sieve: opening script /var/vmail/leuxner.net/tlx/.dovecot.sieve 2009-07-30 10:44:09 deliver(xxxx): Info: sieve: executing compiled script /var/vmail/leuxner.net/tlx/.dovecot.sieve 2009-07-30 10:44:09 deliver(xxxx): Info: Namespace : Using permissions from /var/vmail/leuxner.net/tlx/maildir: mode=0750 gid=-1 2009-07-30 10:44:09 deliver(xxxx): Info: sieve: msgid=20090730084326.GP1111@jeeves.jpl.local: stored mail into mailbox 'INBOX'
Personal ".dovecot.sieve" script:
require ["include","copy","fileinto","vacation"]; include :global "global.sieve";
-- snip ---
Global script "global.sieve" excerpt:
require ["copy","fileinto"]; #Newsletters / Mailinglists
if allof (address :is ["To","CC"] "dovecot@dovecot.org", header :contains "List-Id" "dovecot.dovecot.org") { fileinto "Public/Mailing-Lists.Dovecot"; } elsif allof (address :is "To" "dovecot-news@dovecot.org", header :contains "List-Id" "dovecot-news.dovecot.org") { fileinto :copy "Public/Newsletters.Dovecot"; }
Thanks Thomas
$ dovecot -n # 1.2.1: /etc/dovecot/dovecot.conf # OS: Linux 2.6.26-2-amd64 x86_64 Debian 5.0.2 log_path: /var/log/dovecot.log info_log_path: /var/log/dovecot-info.log log_timestamp: %Y-%m-%d %H:%M:%S protocols: imap listen: 188.138.0.199:143 ssl_cert_file: /etc/ssl/certs/spectre_leuxner_net_2009.crt ssl_key_file: /etc/ssl/private/spectre_leuxner_net_2009.key login_dir: /var/run/dovecot/login login_executable: /usr/lib/dovecot/imap-login mail_privileged_group: mail mail_location: maildir:~/maildir mail_debug: yes maildir_copy_preserve_filename: yes mail_plugins: acl quota imap_quota fts fts_squat namespace: type: private separator: / inbox: yes list: yes subscriptions: yes namespace: type: public separator: / prefix: Public/ location: maildir:/var/vmail/public:CONTROL=~/maildir/public:INDEX=~/maildir/public list: yes auth default: passdb: driver: passwd-file args: username_format=%u /var/vmail/%d/etc/passwd userdb: driver: passwd-file args: username_format=%u /var/vmail/%d/etc/passwd socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail group: vmail plugin: acl: vfile:/var/vmail/%d/etc/acls:cache_secs=300 quota: maildir:User quota quota_rule: *:storage=1GB quota_rule2: Trash:storage=10%% fts: squat fts_squat: partial=4 full=10 sieve_global_dir: /var/vmail/%d/etc/sieve-scripts
Thomas Leuxner wrote:
Hi,
after upgrading to Dovecot 1.2x including the rewritten Sieve plugin replacing 'cmusieve', messages which have formerly been filed to a "Public/Mailing-List" maildir are no longer filtered correctly. The sieve script itself is included in the user's personal-script. The messages are dropped to the INBOX rather than the "Public Namespace Maildir". Log's don't give a hint (at least to me). The documentation says the personal script should automatically fetch the include, and compile it in the users home...
I am pretty confident that this is caused by the include bug we found a few days back:
http://www.dovecot.org/list/dovecot/2009-July/041608.html
That is fixed:
http://hg.rename-it.nl/dovecot-1.2-sieve/rev/d989537882d0
To confirm, you could first try to incorporate the mailing-list rules from the global script into the user's personal script to check whether filing into the public namespace works without the include.
Then, you could apply the above patch to check whether it solves your problem. I've tested your setup with the latest Mercurial version and I could not find any problems.
Regards,
Stephan
On Thu, Jul 30, 2009 at 11:54:25AM +0200, Stephan Bosch wrote:
I am pretty confident that this is caused by the include bug we found a
few days back:http://www.dovecot.org/list/dovecot/2009-July/041608.html
That is fixed:
http://hg.rename-it.nl/dovecot-1.2-sieve/rev/d989537882d0
To confirm, you could first try to incorporate the mailing-list rules
from the global script into the user's personal script to check whether
filing into the public namespace works without the include.
Hi Stephan,
after including the rules in the personal script, they work with the public namespace. I haven't tried with the patch yet.
Thanks Thomas
participants (2)
-
Stephan Bosch
-
Thomas Leuxner