From: Timo Sirainen Date: Sun, 17 Feb 2013 09:47:32 +0000 (+0200) Subject: dsync: Fail if changing mailbox GUID update doesn't work. X-Git-Tag: 2.2.beta2~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d8f243a8765cb8dc0b513df7add7475affed0bb;p=thirdparty%2Fdovecot%2Fcore.git dsync: Fail if changing mailbox GUID update doesn't work. --- diff --git a/src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c b/src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c index f3b645f5cd..5e630b9ad3 100644 --- a/src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c +++ b/src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c @@ -58,6 +58,20 @@ sync_create_box(struct mailbox *box, const guid_128_t mailbox_guid, mailbox_get_last_error(box, NULL)); return -1; } + /* verify that the update worked */ + if (mailbox_get_metadata(box, MAILBOX_METADATA_GUID, + &metadata) < 0) { + i_error("Can't get mailbox GUID %s: %s", + mailbox_get_vname(box), + mailbox_get_last_error(box, NULL)); + return -1; + } + if (memcmp(mailbox_guid, metadata.guid, + sizeof(metadata.guid)) != 0) { + i_error("Backend didn't update mailbox %s GUID", + mailbox_get_vname(box)); + return -1; + } } return 0; }