From 8601cb6dafd4e8960c91b3c082af3095cfbebe74 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 20 Nov 2013 22:20:06 +0200 Subject: [PATCH] dsync: Fix to 128bit GUID syncing --- src/doveadm/dsync/dsync-mailbox-import.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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) { -- 2.47.3