Michael Schaap wrote:
Mark Crispin wrote:
On Tue, 24 Oct 2006, Michael Schaap wrote:
imapd 2006c can still delete a currently-selected mbx mailbox, though - but that's not "intentionally", I assume. :-)

It's not supposed to do so, and it doesn't on my system:


Okay, false alarm. In case of an MBX mailbox, it *does* actually close it first.

Here's what Thunderbird does for an MBX mailbox:

    15 list "" "Mail/foo/*"
    15 OK LIST completed
    16 close
    16 OK No messages deleted, so no update needed
    17 delete "Mail/foo"
    17 OK DELETE completed

while this is what it does for a MIX mailbox:

    15 list "" "Mail/foo/*"
    * LIST () "/" Mail/foo/
    15 OK LIST completed
    16 delete "Mail/foo/"
    16 NO Can't lock mailbox for delete: Mail/foo/

My guess is that Thunderbird interprets "Mail/foo/" as a sub-mailbox of "Mail/foo", and therefore thinks it needs to delete it before deleting "Mail/foo". I assume this is a Thunderbird bug, but wouldn't it be cleaner if imapd didn't return the trailing '/' in the first place? I realize that "Mail/foo" doesn't actually match "Mail/foo/*"... But is "Mail/foo/*" actually expected to include "Mail/foo" itself? It sure looks like Thunderbird does not expect it...


For what it's worth, Courier doesn't seem to return the parent mailbox in the equivalent case...

* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE STARTTLS] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information.
    (...)
    . list "" "*"
    * LIST (\HasNoChildren) "." "INBOX.old-messages"
    * LIST (\HasNoChildren) "." "INBOX.Test"
    * LIST (\HasNoChildren) "." "INBOX.Drafts"
    * LIST (\HasNoChildren) "." "INBOX.Trash"
    * LIST (\HasNoChildren) "." "INBOX.Sent"
    * LIST (\Marked \HasChildren) "." "INBOX"
    . OK LIST completed
    . list "" "INBOX.*"
    * LIST (\HasNoChildren) "." "INBOX.old-messages"
    * LIST (\HasNoChildren) "." "INBOX.Test"
    * LIST (\HasNoChildren) "." "INBOX.Drafts"
    * LIST (\HasNoChildren) "." "INBOX.Trash"
    * LIST (\HasNoChildren) "." "INBOX.Sent"
    . OK LIST completed

 - Michael
_______________________________________________
Imap-uw mailing list
Imap-uw@u.washington.edu
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to