changeset 22350:55cd5207d961

virtual: Expunge virtual mails if backend box is deleted When mail is added to a mailbox and then deleted, expunge the sequences from virtual index in sync. Fixes Error: Unexpectedly lost Mailbox ID 4
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Wed, 05 Jul 2017 14:24:49 +0300
parents 942ade508602
children ea5c90328bcb
files src/plugins/virtual/virtual-sync.c
diffstat 1 files changed, 2 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/virtual/virtual-sync.c	Mon Jul 03 13:53:49 2017 +0300
+++ b/src/plugins/virtual/virtual-sync.c	Wed Jul 05 14:24:49 2017 +0300
@@ -1516,11 +1516,8 @@
 			bbox = virtual_backend_box_lookup(ctx->mbox,
 							  vrec->mailbox_id);
 			if (bbox == NULL) {
-				mail_storage_set_critical(
-					ctx->mbox->box.storage,
-					"%s: Mailbox ID %u unexpectedly lost",
-					ctx->mbox->box.vname, vrec->mailbox_id);
-				return -1;
+				mail_index_expunge(ctx->trans, seq);
+				continue;
 			}
 		}
 		array_append(&bbox->uids, &uidmap, 1);