Bug 301154 - Akonadi IMAP needs to translate entry names between METADATA (RFC 5464) and ANNOTATEMORE (draft-daboo-imap-annotatemore-08)
Summary: Akonadi IMAP needs to translate entry names between METADATA (RFC 5464) and A...
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: IMAP resource (show other bugs)
Version: 4.8
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Kevin Ottens
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-04 13:40 UTC by Dennis Schridde
Modified: 2013-11-06 20:39 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.11.4
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dennis Schridde 2012-06-04 13:40:43 UTC
METADATA uses entry names in the style of /shared/vendor/kolab/folder-type, which includes the shared/private aspect of the data. [1]
ANNOTATEMORE uses entry names in the style of /vendor/kolab/folder-type and encodes the shared/private aspect in the special value.shared/private parameter. [2]

It appears that Akonadi IMAP tries to sync the contents of collectionannotations with the IMAP server using either one of the METADATA ANNOTATEMORE extensions, depending on what the server supports. However, it does not translate between the different notations of the entry name when communicating with the IMAP server.

It seems further that Akonadi Kolab receives the value of collectionannotations without any translation from Akonadi IMAP, while it expects ANNOTATEMORE semantics, i.e. /vendor/kolab/folder-type instead of /shared/vendor/kolab/folder-type. There should also be some translation done during the communication with Akonadi Kolab.

[1] http://tools.ietf.org/html/rfc5464#section-3.2.1
[2] http://tools.ietf.org/html/draft-daboo-imap-annotatemore-08#section-3.2.1
Comment 1 Dennis Schridde 2012-06-04 13:45:10 UTC
P.S: How did I gather this? When I set collectionannotations="/vendor/kolab/folder-type test" Akonadi IMAP reports an error from my IMAP server (dovecot-2.1.7 + dovecot-metadata-9), which complains about violation of RFC 5464 for the entry name. When I set it to /shared/..., Akonadi Kolab will stop showing up in Akonadi Console's Browser tab - apparently it stopped monitoring any IMAP folders.
Comment 2 Dennis Schridde 2013-01-13 01:02:32 UTC
Please note that there is another problem within Akonadi/IMAP where the METADATA IMAP extension is not used correctly: bug #313159
Comment 3 Christian Mollekopf 2013-11-06 14:32:31 UTC
Git commit 0f44d8dee614f616f070d816977c0368c4637c65 by Christian Mollekopf.
Committed on 28/10/2013 at 18:37.
Pushed by cmollekopf into branch 'KDE/4.11'.

Translate annotations from METADATA to ANNOTATEMORE style.

The IMAP proxy and the collectionannotationsattribute currently only
support shared annotations.
To match what kmail and the kolabproxy expect, we translate all METADATA
annotations (/shared/vendor/...) to ANNOTATEMORE (/vendor/....) and back
when writing.

M  +6    -6    resources/imap/addcollectiontask.cpp
M  +8    -8    resources/imap/changecollectiontask.cpp
M  +12   -1    resources/imap/retrievecollectionmetadatatask.cpp

http://commits.kde.org/kdepim-runtime/0f44d8dee614f616f070d816977c0368c4637c65
Comment 4 Dennis Schridde 2013-11-06 20:39:29 UTC
Thanks! Great to have this finally fixed.