Hi, I'm using Dovecot 2.0.12 as an IMAP server. I'm using the lazy expunge plugin (2 namespaces - default and .EXPUNGED). When trying to delete a folder, I get this error: "Server Error: DELETE: Can't rename mailboxes across specified storages" Is that related to the lazy expunge plugin? What does this error means exactly and how can I fix it? `dovecot -n` output: # 2.0.12: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.2 auth_master_user_separator = * lda_mailbox_autocreate = yes listen = * log_path = /var/log/dovecot/dovecot.log log_timestamp = "%Y-%m-%d %H:%M:%S " mail_gid = 1001 mail_location = maildir:~/Maildir:INDEX=/var/indexes/%n mail_plugins = quota mail_privileged_group = vmail mail_uid = 1001 managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date namespace { inbox = yes location prefix separator = / type = private } namespace { hidden = no list = yes location = maildir:~/Maildir/expunged prefix = EXPUNGED/ separator = / type = private } passdb { args = scheme=md5-crypt username_format=%n /etc/dovecot/master-users driver = passwd-file master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { deleted_to_trash_folder = Trash lazy_expunge = EXPUNGED/ quota = maildir:User quota:ns quota_warning = storage=98%% quota-warning 98 %n quota_warning2 = storage=95%% quota-warning 95 %n quota_warning3 = storage=92%% quota-warning 92 %n quota_warning4 = storage=90%% quota-warning 90 %n quota_warning5 = storage=85%% quota-warning 85 %n quota_warning6 = storage=80%% quota-warning 80 %n sieve = ~/.dovecot.sieve sieve_before = /var/mail/%n/sieve/vacation_message.sieve sieve_dir = ~/sieve } protocols = " imap sieve pop3" service auth { unix_listener auth-userdb { group = vmail mode = 0600 user = vmail } } service imap-login { inet_listener imap { port = 0 } } service pop3-login { inet_listener pop3 { port = 0 } } service quota-warning { executable = script /usr/local/bin/quota-warning.sh unix_listener quota-warning { user = vmail } user = vmail } ssl = required ssl_cert = </etc/dovecot/ssl/certs/mail.home.example.com.crt ssl_key = </etc/dovecot/ssl/private/mail.home.example.com.key userdb { driver = prefetch } userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } protocol lda { info_log_path = /var/log/dovecot/dovecot-lda.log log_path = /var/log/dovecot/dovecot-lda.log mail_plugins = quota sieve } protocol imap { imap_client_workarounds = delay-newmail mail_max_userip_connections = 100 mail_plugins = quota imap_quota lazy_expunge deleted_to_trash } protocol pop3 { mail_plugins = quota lazy_expunge pop3_client_workarounds = outlook-no-nuls oe-ns-eoh pop3_uidl_format = %08Xu%08Xv ssl_cert = </etc/dovecot/ssl/certs/pop3.home.example.com.crt ssl_key = </etc/dovecot/ssl/private/pop3.home.example.com.key } Any help will be much appreciated! Thanks, Bar.
On Mon, 2011-08-08 at 14:47 +0300, Bar Ziony wrote:> When trying to delete a folder, I get this error: > "Server Error: DELETE: Can't rename mailboxes across specified storages"The problem is that you've specified a separate INDEX= path for Maildir. Dovecot's generic mailbox renaming code can't currently handle renaming between namespaces when they have different index paths. Since lazy-expunge handles mailbox deletions by renaming them into the lazy-expunge namespace, this fails. So your options are: a) Remove INDEX path from mail_location b) Fix Dovecot code to support renaming from different index paths (for maildir you could basically just delete the old index dir - a more generic solution would be more difficult) c) Forget about using lazy_expunge