Intended response for LIST "" %?

Jeroen van Meeuwen (Kolab Systems) vanmeeuwen at kolabsys.com
Wed Mar 25 10:07:36 EDT 2015


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"

Kind regards,

Jeroen van Meeuwen

[1] 
https://git.cyrus.foundation/rI44e8e7f7d0e16cc6005441709fc7c02e7032d6b3
[2] 
https://git.cyrus.foundation/rI10c621a954ce976e419201037666146fde1814b9

-- 
Systems Architect, Kolab Systems AG

e: vanmeeuwen at kolabsys.com
m: +41 79 951 9003
w: https://kolabsystems.com

pgp: 9342 BF08


More information about the Cyrus-devel mailing list