Hi Timo, Trying 1.2.beta1 with expire plugin currently: When I set mail_location = maildir:~/.maildir the expire plugin doesn't delete messages. #: expire-tool --test Info: auth input: system_user=foo Info: auth input: uid=1000 Info: auth input: gid=1000 Info: auth input: home=/home/foo Info: foo/Trash: no messages left I also noticed that above command creates a new but empty directory 'mail' in user's home dir. However using mail_location = maildir:~/Maildir and of course moving the messages to it works. #: expire-tool --test Info: auth input: system_user=foo Info: auth input: uid=1000 Info: auth input: gid=1000 Info: auth input: home=/home/foo Info: foo/Trash: seq=1 uid=4078: Expunge . . Info: foo/Trash: seq=100 uid=4178: Expunge Info: foo/Trash: seq=101 uid=4179: Expunge Info: foo/Trash: timestamp 1235292536 -> 1235325429 My guess is that mail_location is not respected by expire-tool for some reason and in second case mailbox auto-detection makes it working? Thanks, e-frog ---------------------------------------------------------------------------------------------- #: dovecot -n # 1.2.beta1: /etc/dovecot/dovecot.conf # OS: Linux 2.6.27-11-server i686 Ubuntu 8.10 log_timestamp: %Y-%m-%d %H:%M:%S protocols: imap managesieve disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable(default): /usr/lib/dovecot/imap-login login_executable(imap): /usr/lib/dovecot/imap-login login_executable(managesieve): /usr/lib/dovecot/managesieve-login mail_privileged_group: mail mail_location: maildir:~/.maildir mail_debug: yes mail_drop_priv_before_exec: yes mail_executable(default): /usr/lib/dovecot/imap mail_executable(imap): /usr/lib/dovecot/imap mail_executable(managesieve): /usr/lib/dovecot/managesieve mail_plugins(default): quota imap_quota expire fts fts_squat mail_plugins(imap): quota imap_quota expire fts fts_squat mail_plugins(managesieve): mail_plugin_dir(default): /usr/lib/dovecot/modules/imap mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve auth default: passdb: driver: pam userdb: driver: passwd socket: type: listen client: path: /var/run/dovecot/auth-client mode: 432 user: dovecot group: Debian-exim master: path: /var/run/dovecot/auth-master mode: 384 plugin: quota: maildir quota_rule: *:storage=1GB quota_rule2: Trash:storage=10%% expire: Trash 1 expire_dict: proxy::expiredict sieve: ~/.dovecot.sieve sieve_dir: ~/.sieve fts: squat fts_squat: partial=4 full=10 dict: expiredict: mysql:/etc/dovecot/dovecot-dict-sql.conf
Timo Sirainen
2009-May-18 01:07 UTC
[Dovecot] 1.2.beta1: expire-tool and 'mail_location' setting
On Sun, 2009-02-22 at 12:49 +0100, e-frog wrote:> Trying 1.2.beta1 with expire plugin currently: > When I set mail_location = maildir:~/.maildir the expire plugin doesn't delete messages.Should be fixed in hg now.> My guess is that mail_location is not respected by expire-tool for some reason and in second > case mailbox auto-detection makes it working?Yes. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20090517/1b21d447/attachment-0002.bin>
Timo Sirainen wrote:> On Sun, 2009-02-22 at 12:49 +0100, e-frog wrote: >> Trying 1.2.beta1 with expire plugin currently: >> When I set mail_location = maildir:~/.maildir the expire plugin doesn't delete messages. > > Should be fixed in hg now. > >> My guess is that mail_location is not respected by expire-tool for some reason and in second >> case mailbox auto-detection makes it working? > > Yes. >Thanks Timo! It works now as long as there is no namespace for the virtual plugin defined: foo at test:/etc/dovecot$ sudo /usr/sbin/dovecot --exec-mail ext /usr/lib/dovecot/expire-tool --test Info: auth input: system_groups_user=foo Info: auth input: uid=1000 Info: auth input: gid=1000 Info: auth input: home=/home/foo Info: Namespace: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes Info: maildir: data=~/.maildir Info: maildir++: root=/home/foo/.maildir, index=, control=, inbox=/home/foo/.maildir Info: foo/Trash: seq=1 uid=1: Expunge Info: foo/Trash: seq=2 uid=2: Expunge --snip -- Info: foo/Trash: seq=18 uid=18: Expunge Info: foo/Trash: seq=19 uid=19: Expunge Info: foo/Trash: timestamp 1242499040 -> 1242759162 Having the virtual namespace I see the following (dovecot -n below): foo at test:/etc/dovecot$ sudo /usr/sbin/dovecot --exec-mail ext /usr/lib/dovecot/expire-tool --test Info: auth input: system_groups_user=foo Info: auth input: uid=1000 Info: auth input: gid=1000 Info: auth input: home=/home/foo Info: Namespace: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes Info: maildir: data=~/.maildir Info: maildir++: root=/home/foo/.maildir, index=, control=, inbox=/home/foo/.maildir Info: Namespace: type=private, prefix=virtual/, sep=/, inbox=no, hidden=no, list=children, subscriptions=no Error: Namespace 'virtual/': Unknown mail storage driver virtual Info: User lookup failed: foo ----------------------------------------------------- # 1.2.rc4: /etc/dovecot/dovecot.conf # OS: Linux 2.6.27-14-server i686 Ubuntu 8.10 protocols: imap imaps managesieve disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable(default): /usr/lib/dovecot/imap-login login_executable(imap): /usr/lib/dovecot/imap-login login_executable(managesieve): /usr/lib/dovecot/managesieve-login verbose_proctitle: yes mail_location: maildir:~/.maildir mail_debug: yes mail_drop_priv_before_exec: yes mail_executable(default): /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap mail_executable(imap): /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap mail_executable(managesieve): /usr/lib/dovecot/managesieve mail_plugins(default): expire virtual mail_plugins(imap): expire virtual mail_plugins(managesieve): mail_plugin_dir(default): /usr/lib/dovecot/modules/imap mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve namespace: type: private separator: / inbox: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: virtual/ location: virtual:~/.maildir/virtual list: children auth default: passdb: driver: pam userdb: driver: 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 plugin: expire: Trash 1 expire_dict: proxy::expire sieve: ~/.dovecot.sieve sieve_dir: ~/sieve dict: expire: mysql:/etc/dovecot/dovecot-dict-sql.conf