]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dsync: Set brain->failed to TRUE when UIDVALIDITY changes
authorAki Tuomi <aki.tuomi@dovecot.fi>
Tue, 2 Jan 2018 11:57:45 +0000 (13:57 +0200)
committerAki Tuomi <aki.tuomi@dovecot.fi>
Tue, 2 Jan 2018 11:57:45 +0000 (13:57 +0200)
This happens if UIDVALIDITY changes during stateful sync.

Fixes Panic: doveadm: file dsync-brain-mailbox.c: line 377 (dsync_brain_sync_mailbox_deinit): assertion failed: (brain->failed)

src/doveadm/dsync/dsync-brain-mailbox.c

index 85673fa32c5e2ea0505eefbd10346da14c8b8f6a..6054570808537761619314c466d2c2cc4171c838 100644 (file)
@@ -721,6 +721,7 @@ bool dsync_brain_mailbox_update_pre(struct dsync_brain *brain,
                           sending mailbox changes, but not for all mails. */
                        dsync_mailbox_state_remove(brain, local_box->mailbox_guid);
                        *reason_r = "UIDVALIDITY changed during a stateful sync, need to restart";
+                       brain->failed = TRUE;
                        ret = FALSE;
                }
        }