From 87968dd7b15d92ce04528f1b8711f216bf7513dc Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 15 Jun 2009 17:37:34 -0400 Subject: [PATCH] IMAP: STATUS .. X-GUID returns mailbox GUID. --HG-- branch : HEAD --- src/imap/imap-status.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/imap/imap-status.c b/src/imap/imap-status.c index cdd7e65dbe..9aa8e63d04 100644 --- a/src/imap/imap-status.c +++ b/src/imap/imap-status.c @@ -1,6 +1,7 @@ /* Copyright (c) 2002-2009 Dovecot authors, see the included COPYING file */ #include "imap-common.h" +#include "hex-binary.h" #include "str.h" #include "imap-quote.h" #include "imap-status.h" @@ -35,6 +36,8 @@ int imap_status_parse_items(struct client_command_context *cmd, items |= STATUS_UNSEEN; else if (strcmp(item, "HIGHESTMODSEQ") == 0) items |= STATUS_HIGHESTMODSEQ; + else if (strcmp(item, "X-GUID") == 0) + items |= STATUS_GUID; else { client_send_tagline(cmd, t_strconcat( "BAD Invalid status item ", item, NULL)); @@ -105,6 +108,11 @@ void imap_status_send(struct client *client, const char *mailbox, str_printfa(str, "HIGHESTMODSEQ %llu ", (unsigned long long)status->highest_modseq); } + if (items & STATUS_GUID) { + str_printfa(str, "X-GUID %s ", + binary_to_hex(status->mailbox_guid, + sizeof(status->mailbox_guid))); + } if (items != 0) str_truncate(str, str_len(str)-1); -- 2.47.3