]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
read-only mbox fix
authorTimo Sirainen <tss@iki.fi>
Fri, 18 Jun 2004 00:06:34 +0000 (03:06 +0300)
committerTimo Sirainen <tss@iki.fi>
Fri, 18 Jun 2004 00:06:34 +0000 (03:06 +0300)
--HG--
branch : HEAD

src/lib-storage/index/mbox/mbox-sync.c

index 7b4134f18ed03e29d49c148afbf113b6ebf6d2eb..b48453f555d4dbdf89dae8c4b8c9c9d3c3deaf62 100644 (file)
@@ -858,8 +858,15 @@ static int mbox_sync_update_index_header(struct mbox_sync_context *sync_ctx)
                return -1;
        }
 
-       if (sync_ctx->base_uid_validity != 0 &&
-           sync_ctx->base_uid_validity != sync_ctx->hdr->uid_validity) {
+       if ((sync_ctx->base_uid_validity != 0 &&
+            sync_ctx->base_uid_validity != sync_ctx->hdr->uid_validity) ||
+           sync_ctx->hdr->uid_validity == 0) {
+               if (sync_ctx->hdr->uid_validity == 0) {
+                       /* we couldn't rewrite X-IMAPbase because it's
+                          a read-only mbox */
+                       i_assert(sync_ctx->ibox->mbox_readonly);
+                        sync_ctx->base_uid_validity = time(NULL);
+               }
                mail_index_update_header(sync_ctx->t,
                        offsetof(struct mail_index_header, uid_validity),
                        &sync_ctx->base_uid_validity,