On Thu, 21 May 2009, Andrew Daviel wrote:
If in Thunderbird the option "server supports folders which can contain both
folders and messages" is checked
No client should ever have, or need, such a configuration option. This is
handled by the IMAP protocol.
(the default, which is true for MIX) then it
creates a folder "test" with no suffix, listed as such in
.mailboxlist. If the option is unchecked, it appends a / when it creates a
directory and not when it creates a folder.
This indicates that the developers of Thunderbird don't have a clue about
IMAP. This has been a problem since the bad old days of Netscape
Messenger.
In IMAP, CREATE using the form with no hierarchy delimiter suffix means
"create a container that holds messages" (a mailbox), and the form with
hierarchy delimiter suffix means "create a container that holds other
containers" (a directory).
This has nothing to do with whether or not the server allows a mailbox to
be a directory as well. There is no need for that configuration switch.
15 list "" "Trash/test2/*"
* LIST (\HasNoChildren) "/" Trash/test2/
15 OK LIST completed
This is because "Trash/test2/" matches the pattern but "Trash/test2" does
not.
16 delete "Trash/test2/"
16 OK DELETE completed
This is because the name "Trash/test2/" resolves as a mailbox.
17 unsubscribe "Trash/test2/"
17 NO Not subscribed to mailbox Trash/test2/
This is because "Trash/test2/" is not in the mailbox list.
The subscription list can best be thought of as being like a bookmarks
file. The fact that http://www.example.com and http://example.com might
take you to the same page does not mean that the two names match in the
bookmarks.
71 create "test3f/"
71 OK CREATE completed
72 subscribe "test3f/"
* NO CLIENT BUG DETECTED: subscribe of non-mailbox directory test3f/
72 OK SUBSCRIBE completed
As the server said, "test3f/" is a non-mailbox directory and shouldn't be
subscribed.
30 unsubscribe "test3f/test4/"
30 NO Not subscribed to mailbox test3f/test4/
Once again, that is not the name that is in the subscription list.
I do see an inconsistancy here, that when Thunderbird deletes the message
folder it appends a /. However, imapd successfully deletes it even though it
does not exactly match the name given while creating it.
The name with the / appended works when accessing it as a mailbox.
The case where it doesn't work is when you are trying to look up the name
in the subscription list.
Is it fair to say that Thunderbird has a bug because it uses a different
folder name for creation and deletion,
Yes.
and/or that imapd is inconsistent in
its treatment of deletion vs. unsubscription ?
No.
The behavior of the trailing / form is undefined in the specification for
all commands other than CREATE.
As a courtesy, imapd allows the trailing / form for command which actually
access a mailbox. The subscription commands do not access a mailbox; they
merely manipulate a list of names.
The LIST command returns that form for the foo/* case in order to verify
that the superior exists at all. Otherwise, there would be no difference
between "foo is empty" and "foo does not exist".
Other servers may behave differently; but in any case any client that
uses the suffix form for anything other than CREATE is broken.
-- Mark --
http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
_______________________________________________
Imap-uw mailing list
Imap-uw@u.washington.edu
http://mailman2.u.washington.edu/mailman/listinfo/imap-uw