Mercurial > dovecot > core-2.2
changeset 16995:df2b27885c9d
dsync: Fix to 128bit GUID syncing
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 20 Nov 2013 22:20:06 +0200 |
parents | fbf77af0233c |
children | d2e95af17305 |
files | src/doveadm/dsync/dsync-mailbox-import.c |
diffstat | 1 files changed, 6 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/doveadm/dsync/dsync-mailbox-import.c Wed Nov 20 21:25:19 2013 +0200 +++ b/src/doveadm/dsync/dsync-mailbox-import.c Wed Nov 20 22:20:06 2013 +0200 @@ -472,16 +472,17 @@ { 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) {