Shared folders (AKA public) namespace showing twice

Binarus lists at binarus.de
Sun Dec 16 11:48:53 EST 2018


Dear all,

hopefully, this is my last post for today.

I just have put a new server running 2.5.10 live and have noticed that the Shared Folders are appearing twice. Please note that I have renamed the "Shared Folders" prefix to "public" (see below). When a user who has access to the Shared Folders logs in (e.g. via Thunderbird), that user's mailbox folder hierarchy shows up as follows:

Inbox
Drafts
Sent
Junk
Trash
public <--- expected ("Shared folders" namespace)
  Folder1
  Folder2
  public <--- This is my problem
  Folder3
  ...

As you can see, the "virtual" public folder contains all shared (public) subfolders (nothing is missing, the permissions and all IMAP operations are working as expected), but there is an additional subfolder "public" which never has been actively created and which was empty every time we examined it.

I originally thought that this was an artifact which had been created when moving all data from the old server to the new one, and deleted it. Upon deletion, Thunderbird did not show any error and moved that folder into "Trash". From then on, it was not visible any more at its original place. But guess what: It was there again as soon as Thunderbird had been restarted.

To make sure that this was not due to a Thunderbird bug, I connected to the server in question as administrator (cyrus in this case) via cyradm and listed all mailboxes and subfolders (lm command). Indeed, there was *no* mailbox or folder which had "public" as its name.

I investigated the issue further with the help of telnet, which revealed something interesting (I logged in as a normal non-admin user who has access to the shared (public) folders; I have left out the prologue and the LOGIN dialog for brevity and clarity):

root at morn:/etc# telnet localhost imap
[...]
A1 NAMESPACE
* NAMESPACE (("" ".")) (("other." ".")) (("public." "."))
A1 OK Completed
A1 LIST "" "%"
* LIST (\Noinferiors \HasNoChildren) "." INBOX
* LIST (\HasNoChildren) "." Drafts
* LIST (\HasNoChildren) "." Junk
* LIST (\HasNoChildren) "." Sent
* LIST (\HasChildren) "." Trash
* LIST (\Noselect \HasChildren) "." public.public
A1 OK Completed (0.003 secs 7 calls)

The NAMESPACE command's return value is as expected, but the LIST command returns "public.public" at the place where it (IMHO) just should return "public". I believe that this is the reason for our problem, and that this can't be correct.

This might or might not be related to the following bug report / discussion from 2005: https://github.com/cyrusimap/cyrus-imapd/issues/744

In every case, listing "public.public" is wrong, isn't it?

I can further tell that we did not have that problem with our old server running 2.4.16 with the *literally same* configuration files (imapd.conf and cyrus.conf).

These are the snippets from imapd.conf which are probably relevant:

altnamespace: yes
userprefix: other
sharedprefix: public
unixhierarchysep: no
autocreate_quota: 0

Could somebody please tell me if the behavior I have observed is a bug or if I am doing something wrong? If it's a bug, is there something I can do about it (besides compiling the newest version of Cyrus imapd myself or changing the Linux distro)?

Thank you very much in advance,

Binarus



More information about the Info-cyrus mailing list