Opened 3 years ago
Closed 2 years ago
#1487637 closed Bugs (fixed)
Handling of folders that doesn't belong to any namespace
| Reported by: | alec | Owned by: | |
|---|---|---|---|
| Priority: | 5 | Milestone: | 0.6-beta |
| Component: | Core functionality | Version: | git-master |
| Severity: | normal | Keywords: | |
| Cc: |
Description
The issue has been discussed here: http://lists.roundcube.net/mail-archive/users/2010-12/0000028.html.
In some situations LIST returns folders that doesn't belongs to defined namespaces. If personal namespace is defined with prefix (e.g. "INBOX.") then such folders are not handled properly (personal namespace prefix is added).
One solution would be to just skip such folders, but better would be to operate on not modified folder names and modify them only for display purposes. So, rcube_imap::mod_mailbox() shouldn't be used inside of rcube_imap class.
Attachments (1)
Change History (5)
comment:1 Changed 3 years ago by jvehent
comment:2 Changed 2 years ago by alec
Changed 2 years ago by alec
comment:3 Changed 2 years ago by alec
Attached patch fixes the issue. Please, test it extensively.
comment:4 Changed 2 years ago by alec
- Resolution set to fixed
- Status changed from new to closed
Fixed in [d08333ea].

With cyrus-imapd 2.2, the browsing of shared mailbox works if option altnamespace is set to yes in imapd.conf.
If altnamespace: no, roundcube doesn't access shared mailboxes properly.
Examples
1. altnamespace: no => doesn't work
* OK webmail Cyrus IMAP4 v2.2.13-Debian-2.2.13-19 server ready . login julien XXXXXXXXXX . OK User logged in . namespace * NAMESPACE (("INBOX." ".")) (("user." ".")) (("" ".")) . OK Completed . list "" "*" * LIST (\HasChildren) "." "INBOX" * LIST (\HasNoChildren) "." "INBOX.Sent" * LIST (\HasChildren) "." "INBOX.Trash" * LIST (\HasNoChildren) "." "INBOX.drafts" * LIST (\HasNoChildren) "." "INBOX.root" * LIST (\HasNoChildren) "." "INBOX.sent-mail" * LIST (\HasNoChildren) "." "shared.testshared"Roundcube tries to access "shared.testshared" in "INBOX.shared.testshared".
2. altnamespace: yes => work
* OK webmail Cyrus IMAP4 v2.2.13-Debian-2.2.13-19 server ready . login julien XXXXXXX . OK User logged in . namespace * NAMESPACE (("" ".")) (("Other Users." ".")) (("Shared Folders." ".")) . OK Completed . list "" "*" * LIST (\Noinferiors) "." "INBOX" * LIST (\HasNoChildren) "." "Sent" * LIST (\HasChildren) "." "Trash" * LIST (\HasNoChildren) "." "drafts" * LIST (\HasNoChildren) "." "root" * LIST (\HasNoChildren) "." "sent-mail" * LIST (\HasNoChildren) "." "Shared Folders.shared.testshared" . OK Completed (0.000 secs 9 calls)