From: Timo Sirainen Date: Wed, 20 Nov 2013 20:20:06 +0000 (+0200) Subject: dsync: Fix to 128bit GUID syncing X-Git-Tag: 2.2.9~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8601cb6dafd4e8960c91b3c082af3095cfbebe74;p=thirdparty%2Fdovecot%2Fcore.git dsync: Fix to 128bit GUID syncing --- diff --git a/src/doveadm/dsync/dsync-mailbox-import.c b/src/doveadm/dsync/dsync-mailbox-import.c index 7f528d6234..30b6e3551f 100644 --- a/src/doveadm/dsync/dsync-mailbox-import.c +++ b/src/doveadm/dsync/dsync-mailbox-import.c @@ -472,16 +472,17 @@ dsync_mail_change_guid_equals(struct dsync_mailbox_importer *importer, { guid_128_t guid_128, change_guid_128; - if (change->type != DSYNC_MAIL_CHANGE_TYPE_EXPUNGE && - !importer->mails_use_guid128) { + if (change->type == DSYNC_MAIL_CHANGE_TYPE_EXPUNGE) { + if (guid_128_from_string(change->guid, change_guid_128) < 0) + i_unreached(); + } else if (importer->mails_use_guid128) { + mail_generate_guid_128_hash(change->guid, change_guid_128); + } else { if (cmp_guid_r != NULL) *cmp_guid_r = change->guid; return strcmp(change->guid, guid) == 0; } - if (guid_128_from_string(change->guid, change_guid_128) < 0) - i_unreached(); - mail_generate_guid_128_hash(guid, guid_128); if (memcmp(change_guid_128, guid_128, GUID_128_SIZE) != 0) { if (cmp_guid_r != NULL) {