[Dovecot] trouble deleting folders that only contain folders
Hi,
I'm using dovecot 1.0.5 with mbox storage. Users can't delete folders that are created to 'only hold other folders'. I can create these folders with no problem. They are directories in the file system. Normal folders (which are mbox files) are deleted with no problem. I've tried with both squirrelmail and Thunderbird, and what happens when a delete is requested, is that all files within the folder's dir tree are deleted and the client is unsubscribed, but the directory tree remains.
Any ideas?
Thanks, Ken
-- Ken Anderson Pacific.Net
On Fri, 2007-10-05 at 16:51 -0500, Ken A wrote:
Hi,
I'm using dovecot 1.0.5 with mbox storage. Users can't delete folders that are created to 'only hold other folders'. I can create these folders with no problem. They are directories in the file system. Normal folders (which are mbox files) are deleted with no problem. I've tried with both squirrelmail and Thunderbird, and what happens when a delete is requested, is that all files within the folder's dir tree are deleted and the client is unsubscribed, but the directory tree remains.
I think this is a client bug. See what commands the client sends. Seems to work right with me:
x create dir/ x OK Create completed. x list "" dir
- LIST (\Noselect \HasChildren) "/" "dir" x OK List completed. x delete dir x OK Delete completed. x list "" dir x OK List completed.
Timo Sirainen wrote:
On Fri, 2007-10-05 at 16:51 -0500, Ken A wrote:
Hi,
I'm using dovecot 1.0.5 with mbox storage. Users can't delete folders that are created to 'only hold other folders'. I can create these folders with no problem. They are directories in the file system. Normal folders (which are mbox files) are deleted with no problem. I've tried with both squirrelmail and Thunderbird, and what happens when a delete is requested, is that all files within the folder's dir tree are deleted and the client is unsubscribed, but the directory tree remains.
I think this is a client bug. See what commands the client sends. Seems to work right with me:
x create dir/ x OK Create completed. x list "" dir
- LIST (\Noselect \HasChildren) "/" "dir" x OK List completed. x delete dir x OK Delete completed. x list "" dir x OK List completed.
I get this, from telnet:
x create dir/ x OK Create completed. x list "" dir
- LIST (\Noselect \HasChildren) "/" "dir" x OK List completed. x delete dir x NO Mailbox isn't selectable: dir x list "" dir
- LIST (\Noselect \HasChildren) "/" "dir" x OK List completed.
I must have something misconfigured. mail_location: mbox:/var/spool/mail/folders/%u:INBOX=/var/spool/mail/%u:INDEX=/var/spool/dovecot_indexes/%u
Thanks for any assistance, Ken
-- Ken Anderson Pacific.Net
Timo Sirainen wrote:
On Fri, 2007-10-05 at 21:17 -0500, Ken A wrote:
x list "" dir
- LIST (\Noselect \HasChildren) "/" "dir" x OK List completed. x delete dir x NO Mailbox isn't selectable: dir
That looks like it's trying to open the mailbox before deleting it. What plugins do you use?
quota imap_quota
-- Ken Anderson Pacific.Net
Ken A wrote:
Timo Sirainen wrote:
On Fri, 2007-10-05 at 21:17 -0500, Ken A wrote:
x list "" dir
- LIST (\Noselect \HasChildren) "/" "dir" x OK List completed. x delete dir x NO Mailbox isn't selectable: dir
That looks like it's trying to open the mailbox before deleting it. What plugins do you use?
quota imap_quota
Confirmed that it has something to do with plugins. If I comment out "mail_plugins = quota imap_quota" line in imap section, I can delete folders.
x delete dir x OK Delete completed.
My quota is a simple fs quota, config taken from http://wiki.dovecot.org/Quota/FS
protocol imap { mail_plugins = quota imap_quota } plugin { quota = fs }
The quota usage is being reported correctly in squirrelmail, and works properly on the system (fedora core 7). Any ideas what might be causing this?
Thanks, Ken
-- Ken Anderson Pacific.Net
Ken A wrote:
Ken A wrote:
Timo Sirainen wrote:
On Fri, 2007-10-05 at 21:17 -0500, Ken A wrote:
x list "" dir
- LIST (\Noselect \HasChildren) "/" "dir" x OK List completed. x delete dir x NO Mailbox isn't selectable: dir
That looks like it's trying to open the mailbox before deleting it. What plugins do you use?
quota imap_quota
In tracking this down, I found that by commenting the line below in quota-storage.c, the problem disappears, but I'm not sure what all of the implications are for the quota tracking. I wasn't able to figure out why quota_mailbox_delete() wasn't working correctly for me.
// Don't override mailbox_delete, so we can delete folders. // storage->v.mailbox_delete = quota_mailbox_delete;
I noticed there was a quota rewrite patch for 1.0.2. Do you think I should give this a try for 1.0.5 ?
Thanks,
Ken
Confirmed that it has something to do with plugins. If I comment out "mail_plugins = quota imap_quota" line in imap section, I can delete folders.
x delete dir x OK Delete completed.
My quota is a simple fs quota, config taken from http://wiki.dovecot.org/Quota/FS
protocol imap { mail_plugins = quota imap_quota } plugin { quota = fs }
The quota usage is being reported correctly in squirrelmail, and works properly on the system (fedora core 7). Any ideas what might be causing this?
Thanks, Ken
-- Ken Anderson Pacific.Net
On Sat, 2007-10-06 at 15:57 -0500, Ken A wrote:
x delete dir x NO Mailbox isn't selectable: dir
That looks like it's trying to open the mailbox before deleting it. What plugins do you use?
quota imap_quota
In tracking this down, I found that by commenting the line below in quota-storage.c, the problem disappears, but I'm not sure what all of the implications are for the quota tracking. I wasn't able to figure out why quota_mailbox_delete() wasn't working correctly for me.
// Don't override mailbox_delete, so we can delete folders. // storage->v.mailbox_delete = quota_mailbox_delete;
Fixed: http://hg.dovecot.org/dovecot-1.0/rev/e302a5949cf0
I noticed there was a quota rewrite patch for 1.0.2. Do you think I should give this a try for 1.0.5 ?
The rewrite patch has the same problem. I don't think I'll bother fixing it until someone asks.
participants (2)
-
Ken A
-
Timo Sirainen