Hi, just for the records. The dovecot-metadata-plugin found on http://hg.dovecot.org/dovecot-metadata-plugin (not in use anymore?) needs one change to make it compile on Ubuntu 14.04 and probably other current compilers. And a 2nd change that avoids a crash on deleting an annotation. I need this plugin with a dovecot 2.2.9 to store mailbox annotations (expiry information imported/migrated from a cyrus server, to be more precise). If dovecot provides ANNOTATION capabilities on it's own, I missed it... Please correct me, if I'm wrong. In a current clone of dovecot-core I do not find any traces that indicate support for ANNOATION. But again, I may be wrong, as I do often. changeset: 237:219c13a7696d bookmark: hs12 tag: tip user: Heiko Schlittermann <hs@schlittermann.de> date: Wed Apr 27 11:27:14 2016 +0200 summary: Check the Value before using strlen() diff -r 79ce82ce7279 -r 219c13a7696d src/metadata-backend.c --- a/src/metadata-backend.c Wed Apr 27 10:37:11 2016 +0200 +++ b/src/metadata-backend.c Wed Apr 27 11:27:14 2016 +0200 @@ -130,7 +130,7 @@ if (!metadata_entry_is_valid(entry)) return -METADATA_ERROR_INVALID; - if (strlen(metadata_entry_get_value(entry)) > muser->set->maxsize) + if (entry->value && strlen(metadata_entry_get_value(entry)) > muser->set->maxsize) return -METADATA_ERROR_TOOLARGE; if (count_entries(muser) > muser->set->maxentries) return -METADATA_ERROR_TOOMANY; changeset: 236:79ce82ce7279 user: Heiko Schlittermann <hs@schlittermann.de> date: Wed Apr 27 10:37:11 2016 +0200 summary: make it compile diff -r b6df1381bb79 -r 79ce82ce7279 src/imap-metadata-plugin.c --- a/src/imap-metadata-plugin.c Sun Oct 27 12:50:20 2013 +0100 +++ b/src/imap-metadata-plugin.c Wed Apr 27 10:37:11 2016 +0200 @@ -448,7 +448,7 @@ } -static bool +bool cmd_getmetadata(struct client_command_context *cmd) { int maxsize = 0, depth = 0; @@ -739,7 +739,7 @@ } -static bool +bool cmd_setmetadata(struct client_command_context *cmd) { const struct imap_arg *args; if (!client_read_args(cmd, 0, 0, &args))