[Dovecot] Cannot delete subfolder in public folder
Hi there,
I have the problem that I'm unable to delete a subfolder (again) I created within a public folder.
I've already read about configuring Thunderbird to delete immediately - which I did. But it still doesn't work.
I delete -> the folder is gone -> I get a TB error message saying "The folder doesn't exist" -> after restarting TB the folders appear again. Maybe someone has a hint. My tip is that I may have a wrong understanding of the ACL mechanism... :-(
Regards from Berlin/Germany Karsten
Log:
Aug 24 00:01:37 mail01 dovecot: imap(karsten.becker@company.eu): Debug: acl vfile: file /etc/dovecot/global-acls//.DEFAULT not found Aug 24 00:01:37 mail01 dovecot: imap(karsten.becker@company.eu): Debug: acl vfile: file /srv/vmail/user-mailboxes/company.eu/karsten.becker/mailboxes/dovecot-acl not found Aug 24 00:01:37 mail01 dovecot: imap(karsten.becker@company.eu): Debug: acl vfile: file /etc/dovecot/global-acls/Folders/test01/aaa not found Aug 24 00:01:37 mail01 dovecot: imap(karsten.becker@company.eu): Debug: acl vfile: reading file /srv/vmail/public_folders/test01/aaa/dovecot-acl
Here's the filesystem structure in /srv/vmail:
root@mail01.compdmz.local:/srv/vmail# ls -l public_folders/test01/ total 20 drwxr-xr-x 5 vmail vmail 4096 2011-08-23 23:50 aaa drwxr-xr-x 2 vmail vmail 4096 2011-08-23 21:45 cur -rw-r--r-- 1 vmail vmail 25 2011-08-23 22:19 dovecot-acl drwxr-xr-x 2 vmail vmail 4096 2011-08-23 21:45 new drwxr-xr-x 2 vmail vmail 4096 2011-08-23 21:45 tmp root@mail01.compdmz.local:/srv/vmail#
Here's the content of dovecot-acl (there are another ones in subfolder aaa with the same content, inherited during creation):
authenticated lrwstipekx
Here's my configuration of Dovecot:
2.0.13: /usr/local/dovecot-2.0.13/etc/dovecot/dovecot.conf
OS: Linux 2.6.32-33-server x86_64 Ubuntu 10.04.3 LTS ext4
doveconf: Warning: Dovecot was last started using /etc/dovecot/dovecot.conf, but this config is /usr/local/dovecot-2.0.13/etc/dovecot/dovecot.conf auth_cache_negative_ttl = 0 auth_cache_size = 10 M auth_mechanisms = plain login base_dir = /usr/local/dovecot/var/run/dovecot dict { acl = mysql:/etc/dovecot/dovecot-dict-shared-mailboxes-mysql.conf expire = mysql:/etc/dovecot/dovecot-dict-expire-mysql.conf quota = mysql:/etc/dovecot/dovecot-dict-quota-mysql.conf } log_timestamp = "%Y-%m-%d %H:%M:%S " login_greeting = Company Institute mail_attachment_dir = /srv/vmail/attachments mail_attachment_hash = %{sha256} mail_cache_min_mail_count = 2 mail_debug = yes mail_location = mdbox:/srv/vmail/user-mailboxes/%d/%n mail_plugins = acl expire quota mailbox_idle_check_interval = 1 mins namespace { inbox = yes location = prefix = separator = / subscriptions = yes type = private } namespace { list = children location = mdbox:/srv/vmail/user-mailboxes/%%d/%%n prefix = Users/%%d/%%n/ separator = / subscriptions = no type = shared } namespace { list = children location = maildir:/srv/vmail/public_folders:INDEX=/srv/vmail/user-mailboxes/%d/%n/public_folders-seen:LAYOUT=fs prefix = Folders/ separator = / subscriptions = no type = public } passdb { args = /etc/dovecot/dovecot-mysql.conf driver = sql } plugin { acl = vfile:/etc/dovecot/global-acls:cache_secs=300 acl_shared_dict = proxy::acl expire = Trash expire2 = Trash/* expire3 = Junk expire4 = Junk/* expire_dict = proxy::expire quota = dict:User quota::proxy::quota quota_rule = *:storage=10485760 quota_rule2 = Trash:storage=+1048576 quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=80%% quota-warning 80 %u } postmaster_address = postmaster@company.eu protocols = imap pop3 service auth { unix_listener /var/spool/postfix/private/auth_dovecot { group = postfix mode = 0660 user = postfix } unix_listener auth-master { mode = 0600 user = vmail } user = root } service dict { unix_listener dict { mode = 0600 user = vmail } } service imap-login { inet_listener imaps { port = 993 ssl = yes } process_min_avail = 2 } service imap { vsz_limit = 512 M } service pop3-login { inet_listener pop3s { port = 995 ssl = yes } } service quota-warning { executable = script /usr/local/bin/quota-warning.sh user = vmail } ssl = required ssl_cert = </etc/postfix/ssl/mail01.compdmz.local.crt ssl_key = </etc/postfix/ssl/mail01.compdmz.local.key userdb { args = /etc/dovecot/dovecot-mysql.conf driver = sql } verbose_proctitle = yes protocol lda { auth_socket_path = auth-master postmaster_address = postmaster@company.eu } protocol imap { imap_client_workarounds = delay-newmail imap_max_line_length = 128 k mail_plugins = acl expire quota imap_acl imap_quota } protocol pop3 { pop3_client_workarounds = outlook-no-nuls oe-ns-eoh }
On 24.8.2011, at 1.08, Karsten Becker wrote:
I have the problem that I'm unable to delete a subfolder (again) I created within a public folder.
I've already read about configuring Thunderbird to delete immediately - which I did. But it still doesn't work.
Step 1: Verify that it really is a DELETE command that fails and that the returned error is "Permission denied". For example:
telnet localhost 143 a login username password b delete Folders/test01
Step 1 accomplished: It worked.
So, it's a TB bug? Some known workarounds?
Regards Karsten
On 08/24/2011 12:48 AM, Timo Sirainen wrote:
On 24.8.2011, at 1.08, Karsten Becker wrote:
I have the problem that I'm unable to delete a subfolder (again) I created within a public folder.
I've already read about configuring Thunderbird to delete immediately - which I did. But it still doesn't work.
Step 1: Verify that it really is a DELETE command that fails and that the returned error is "Permission denied". For example:
telnet localhost 143 a login username password b delete Folders/test01
Yeeeahh! I got it.
For those who have the same problem:
Then, I took a look in conf.d/20-imap.conf and found the following:
Workarounds for various client bugs:
delay-newmail:
Send EXISTS/RECENT new mail notifications only when replying to NOOP
and CHECK commands. Some clients ignore them otherwise, for example OSX
Mail (<v2.1). Outlook Express breaks more badly though, without this it
may show user "Message no longer in server" errors. Note that OE6 still
breaks even with this workaround if synchronization is set to
"Headers Only".
tb-extra-mailbox-sep:
With mbox storage a mailbox can contain either mails or submailboxes,
but not both. Thunderbird separates these two by forcing server to
accept '/' suffix in mailbox names in subscriptions list.
tb-lsub-flags:
Show \Noselect flags for LSUB replies with LAYOUT=fs (e.g. mbox).
This makes Thunderbird realize they aren't selectable and show them
greyed out, instead of only later giving "not selectable" popup error.
The list is space-separated.
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags
As we have a very heterogenous infrastructure, with Mac OS X Thunderbird, I added the missing 2 TB options (I also have LAYOUT=fs on the public folders) and restarted Dovecot. Now it works without showing obscure messages - it just deletes a subfolder as a user would expect! :-D
Of course TB must be still set up to delete immediately.
Regards Karsten
On 08/24/2011 10:34 AM, Karsten Becker wrote:
Step 1 accomplished: It worked.
So, it's a TB bug? Some known workarounds?
Regards Karsten
On 08/24/2011 12:48 AM, Timo Sirainen wrote:
On 24.8.2011, at 1.08, Karsten Becker wrote:
I have the problem that I'm unable to delete a subfolder (again) I created within a public folder.
I've already read about configuring Thunderbird to delete immediately - which I did. But it still doesn't work.
Step 1: Verify that it really is a DELETE command that fails and that the returned error is "Permission denied". For example:
telnet localhost 143 a login username password b delete Folders/test01
participants (2)
-
Karsten Becker
-
Timo Sirainen