[Dovecot] Horde + dovecot metadata support
Hello,
Horde (http://horde.org) has the ability to store its preferences direct into a users imap mailbox using imap metadata extension. There are two implementations of the imap extension.
- a dovecot plugin: http://hg.dovecot.org/dovecot-metadata-plugin
- dovecot itself: http://www.dovecot.org/list/dovecot/2013-November/093243.html
I setup Horde and dovecot-2.2.5 to use this extension and it works well using 1.) Now, with dovecot-2.2.9, the plugin fail to compile (unrelated problem on my side). So I tried 2.) But here I get a Horde-Error "Error in IMAP command GETMETADATA: Invalid arguments."
I enables mail_debug but saw no helpfull logging.
mail_attribute_dict = file:/tmp/%Lu/dovecot-attributes remote horde.testserver.ip/32 { imap_metadata = yes mail_debug = yes } Also I created directory /tmp/$my_login_id (mode 777) but dovecot also created no files. neither it logs anything about it.
This is a sample imap session generated by horde:
- OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready. 1 AUTHENTICATE PLAIN *** 1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE METADATA QUOTA] Logged in 2 NAMESPACE
- NAMESPACE (("" ".")) NIL NIL 2 OK Namespace completed. 3 LIST () "" (*)
- LIST () "." INBOX 3 OK List completed. 4 GETMETADATA "*" (/shared/vendor/kolab/folder-type) 4 BAD Error in IMAP command GETMETADATA: Invalid arguments. 5 LOGOUT
- BYE Logging out 5 OK Logout completed.
Are there any hints or is the metadata extension just not fully implemented in dovecot?
Thanks, Andreas
-- Andreas Schulze Internetdienste | P252
DATEV eG 90329 Nürnberg | Telefon +49 911 319-0 | Telefax +49 911 319-3196 E-Mail info @datev.de | Internet www.datev.de Sitz: 90429 Nürnberg, Paumgartnerstr. 6-14 | Registergericht Nürnberg, GenReg Nr.70 Vorstand Prof. Dieter Kempf (Vorsitzender) Dipl.-Kfm. Wolfgang Stegmann (stellvertretender Vorsitzender) Dipl.-Kfm. Michael Leistenschneider Dipl.-Kfm. Dr. Robert Mayr Jörg Rabe v. Pappenheim Dipl.-Vw. Eckhard Schwarzer Vorsitzender des Aufsichtsrates: Reinhard Verholen
On 19.12.2013, at 12.23, Andreas Schulze <andreas.schulze@datev.de> wrote:
4 GETMETADATA "*" (/shared/vendor/kolab/folder-type) .. Are there any hints or is the metadata extension just not fully implemented in dovecot?
One bug: http://hg.dovecot.org/dovecot-2.2/rev/f64810b00b7f
Then also Horde isn't sending a valid RFC 5464 command. Mailbox wildcards aren't supported by it. I think it was supported by the earlier drafts, but removed later. Looks like the previous dovecot-metadata plugin also allows it. So, I guess I can add it just as well: http://hg.dovecot.org/dovecot-2.2/rev/0c3071ebe44b (Noticed only after commit that this was Horde, not Kolab.)
Quoting Timo Sirainen <tss@iki.fi>:
On 19.12.2013, at 12.23, Andreas Schulze <andreas.schulze@datev.de> wrote:
4 GETMETADATA "*" (/shared/vendor/kolab/folder-type) .. Are there any hints or is the metadata extension just not fully
implemented in dovecot?One bug: http://hg.dovecot.org/dovecot-2.2/rev/f64810b00b7f
Then also Horde isn't sending a valid RFC 5464 command. Mailbox
wildcards aren't supported by it. I think it was supported by the
earlier drafts, but removed later. Looks like the previous
dovecot-metadata plugin also allows it. So, I guess I can add it
just as well: http://hg.dovecot.org/dovecot-2.2/rev/0c3071ebe44b (Noticed only after commit that this was Horde, not Kolab.)
I believe this is an error in our Kolab integration rather than with
the IMAP library itself. The metadata retrieval call in the library
is doing nothing more than taking the "mailbox" input and escaping it.
("*" is a valid mailbox name, albeit non-optimal, so sanity checking
is the responsibility of the consumer).
I'll pass the report along so that this is fixed in the Kolab
integration code.
michael
Am 19.12.2013 11:23 schrieb Andreas Schulze:
Horde (http://horde.org) has the ability to store its preferences direct into a users imap mailbox using imap metadata extension. There are two implementations of the imap extension.
- a dovecot plugin: http://hg.dovecot.org/dovecot-metadata-plugin
- dovecot itself: http://www.dovecot.org/list/dovecot/2013-November/093243.html
Hello,
thanks to Timo to fix the issue in Version dovecot-2.2.10. With minimal configuration¹ Horde-5.1.5 can now store its preferences in an IMAP folder.
¹ in dovecot.conf: imap_metadata = yes mail_attribute_dict = file:Maildir/dovecot-metadata
-- Andreas Schulze Internetdienste | P252
DATEV eG 90329 Nürnberg | Telefon +49 911 319-0 | Telefax +49 911 319-3196 E-Mail info @datev.de | Internet www.datev.de Sitz: 90429 Nürnberg, Paumgartnerstr. 6-14 | Registergericht Nürnberg, GenReg Nr.70 Vorstand Prof. Dieter Kempf (Vorsitzender) Dipl.-Kfm. Wolfgang Stegmann (stellvertretender Vorsitzender) Dipl.-Kfm. Michael Leistenschneider Dipl.-Kfm. Dr. Robert Mayr Jörg Rabe v. Pappenheim Dipl.-Vw. Eckhard Schwarzer Vorsitzender des Aufsichtsrates: Reinhard Verholen
participants (3)
-
Andreas Schulze
-
Michael M Slusarz
-
Timo Sirainen