Bug 313159

Summary: Akonadi/IMAP does not conform to RFC 5464 (IMAP METADATA)
Product: [Frameworks and Libraries] Akonadi Reporter: Dennis Schridde <heri+kde>
Component: IMAP resourceAssignee: Kevin Ottens <ervin>
Status: RESOLVED FIXED    
Severity: normal CC: grote, kdepim-bugs, mollekopf, vkrause
Priority: NOR    
Version: 1.9.0   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In: 4.11.4
Sentry Crash Report:

Description Dennis Schridde 2013-01-13 00:59:17 UTC
The IMAP server is dovecot-2.1.12 with my dovecot-metadata-9 plugin. I wrote the plugin to check the input rather strictly, which is why it reports a problem with Akonadi/IMAP's conformance to the IMAP METADATA RFC 5464.

From the KIMAP_LOGFILE:
C: A001351 GETMETADATA "INBOX/live" "*"
S: A001351 BAD Error in IMAP command GETMETADATA: Wildcards in entry name '*' not allowed. ( RFC 5464 Section 3.2 )

Section 3.2 explicitly forbids this:
Entry names MUST NOT contain asterisk ("*") or percent ("%") characters

Now you might argue that this only applies to the entry names the server stores, but not to requests by the client. However, Section 4.2 neither allows nor describes the use of the wildcard characters.

You probably want to use the DEPTH argument to GETMETADATA (Section 4.2.2) instead of a wildcard character.

Reproducible: Always
Comment 1 Dennis Schridde 2013-01-13 01:02:19 UTC
Please note that there is another problem within Akonadi/IMAP where the METADATA IMAP extension is not used correctly: bug #301154
Comment 2 Christian Mollekopf 2013-11-06 14:32:27 UTC
Git commit 0291bfb0fd272dfab0417cda0b406aa3c1af5d5a by Christian Mollekopf.
Committed on 28/10/2013 at 18:01.
Pushed by cmollekopf into branch 'KDE/4.11'.

Get METADATA annotations.

METADATA doesn't allow a wildcard as entry specifier.

M  +2    -1    resources/imap/retrievecollectionmetadatatask.cpp

http://commits.kde.org/kdepim-runtime/0291bfb0fd272dfab0417cda0b406aa3c1af5d5a
Comment 3 Dennis Schridde 2013-11-06 20:39:34 UTC
Thanks! Great to have this finally fixed.