GNOME Bugzilla – Bug 678216
Server type IMAP+ option does not work with Cyrus-imapd shared folders
Last modified: 2014-05-05 09:59:46 UTC
Description of problem: I'm not able to access the shared folders on a Cyrus imap server. Version-Release number of selected component (if applicable): evolution-data-server-3.4.2-1.fc17.x86_64 evolution-3.4.2-1.fc17.x86_64 How reproducible: Steps to Reproduce: 1. configure imap account as "Server type IMAP+/imapx" 2. select a shared imap folder to list the content. Actual results: Error refreshing folder: Mailbox does not exist Expected results: Content list of the shared imap folder Additional info: Selecting the older Server type IMAP still works.
http://projects.gnome.org/evolution/bugs.shtml
Created attachment 249659 [details] evolution.log.gz in the meantime using evolution-3.8.3-2.fc19.x86_64 output of CAMEL_DEBUG=all evolution >& evolution.log shared folder example is user/general/info/in
Still broken in 3.8.5, as indicated in a downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=986442
This patch fixes the issue for me. The patch could be cleaned up a little, as there's a get_namespaces() function in camel-imapx-store.c, however that's static and I didn't want to publish it, not being too familiar with the code and conventions. The root cause for the problem seems to be that evolution-data-server doesn't try to find the proper IMAP namespace for folders outside the user's own folders. In this case it defaults to using the '/' as a folder separator, which doesn't work with Cyrus IMAPD with "unixhierarchysep" set to no, as it expects dots to separate folders. My patch simply changes two functions that map folder names to namespaces to actually look for the "shared" namespace, so that evo finds that it actually uses '.' for name separation. With the patch in place it properly downloaded the index, and generally seems to work after casual use for about an hour. Attaching the patch too.
Created attachment 260418 [details] [review] patch
Patch is obsolete since my IMAP refactoring last fall. I've roughed in support for shared and other user's namespaces, but we don't currently use them. It remains a future feature until we can support this better in the public API.
Does this mean that an upcoming evolution release will work with cyrus shared folders, with dot as a separator?
Created attachment 275870 [details] [review] Patch for 3.10.4 (based on previous patch) This is still an issue for 3.10.4, the patch above fails to apply, but I've added the changes manually (removing the debug which no longer works as 'path' is no longer part of 'ns'). I'm attaching a patch that should work with 3.10.4.
Thanks for the update. The current stable has this fixed within bug #728737, thus I mark this as a duplicate of it (the code in question changed again in 3.12.x). *** This bug has been marked as a duplicate of bug 728737 ***