On 25/03/2015 14:07, Jeroen van Meeuwen (Kolab Systems) wrote:
Hi there,
In working on event notifications to include the correct folder path
to shared folder mail delivery, I had accidentally broken the response
to LIST "" %. See [1] for my commit breaking it and [2] for the revert.
Naturally most of the output listed here depends on unixhierarchysep,
altnamespace, sharedprefix, userprefix ;-)
For the hierarchy stated below, the current code shows a response of:
From ctl_mboxlist -d:
example.org!user.jane^doe
example.org!user.john^doe
example.org!user.john^doe.Archive
example.org!user.john^doe.Lists.Topic
C: . LIST "" %
S: * LIST (\Noinferiors \HasNoChildren) "/" INBOX
S: * LIST (\HasNoChildren) "/" Archive
S: * LIST (\Noselect \HasChildren) "/" Lists
S: * LIST (\Noselect \HasChildren) "/" "Other Users"
The code tests for whether a mailbox has children which obliges it to
list it in the "toplevel" hierarchy, which is very applicable to an
other users namespace, but this doesn't apply to shared folders --
each of them may be prefixed with virtually anything other than "user":
From ctl_mboxlist -d:
example.org!lists.kolab^org.devel
example.org!shared.info
example.org!shared.sales
example.org!user.jane^doe
example.org!user.john^doe
example.org!user.john^doe.Archive
example.org!user.john^doe.Lists.Topic
A regular 'LIST "" *':
C: . LIST "" *
S: * LIST (\Noinferiors \HasNoChildren) "/" INBOX
S: * LIST (\HasNoChildren) "/" Archive
S: * LIST (\HasChildren) "/" "Other Users/jane.doe"
S: * LIST (\HasNoChildren) "/" "Shared Folders/lists/kolab.org/devel"
S: * LIST (\HasNoChildren) "/" "Shared Folders/shared/info"
S: * LIST (\HasNoChildren) "/" "Shared Folders/shared/sales"
S: . OK Completed (0.000 secs 35 calls)
But 'LIST "" %' doesn't change:
C: . LIST "" %
S: * LIST (\Noinferiors \HasNoChildren) "/" INBOX
S: * LIST (\HasNoChildren) "/" Archive
S: * LIST (\Noselect \HasChildren) "/" Lists
S: * LIST (\Noselect \HasChildren) "/" "Other Users"
The question is now whether '. LIST "" %' is supposed to also include:
S: * LIST (\Noselect \HasChildren) "/" "Shared Folders"
Yes.