From: Splintermail Dev Date: Wed, 19 May 2021 11:56:13 +0000 (-0600) Subject: imap: imap-sync - Fix VANISHED response with UID=1 X-Git-Tag: 2.3.16~66 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e903c76ef32ea654d4655b5dc104351db21c249d;p=thirdparty%2Fdovecot%2Fcore.git imap: imap-sync - Fix VANISHED response with UID=1 Fixes a bug introduced in 4eb3f6f27, where a UID EXPUNGE 1 command resulted in a VANSIHED 0:1 response, which is invalid IMAP syntax (sequence sets must have nonzero values). --- diff --git a/src/imap/imap-sync.c b/src/imap/imap-sync.c index 13b6101787..fc49ae7230 100644 --- a/src/imap/imap-sync.c +++ b/src/imap/imap-sync.c @@ -430,7 +430,7 @@ static void imap_sync_vanished(struct imap_sync_context *ctx) start_uid = 0; prev_uid = 0; for (seq = seqs[i].seq1; seq <= seqs[i].seq2; seq++) { mail_set_seq(ctx->mail, seq); - if (prev_uid != ctx->mail->uid - 1) { + if (prev_uid == 0 || prev_uid + 1 != ctx->mail->uid) { if (start_uid != 0) { if (!comma) comma = TRUE;