]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imapc: Fix listing INBOX when INBOX is already the namespace prefix
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 4 Nov 2022 12:01:14 +0000 (14:01 +0200)
committerMarkus Valentin <markus.valentin@open-xchange.com>
Tue, 8 Nov 2022 07:23:46 +0000 (08:23 +0100)
This especially caused problems when using dsync with imapc, resulting in
"Remote lost mailbox GUID" errors.

src/lib-storage/index/imapc/imapc-list.c

index a9e03ecf02fdb3f37a52e5d7e0d15e46828b4737..d987538df2b79cc6ee2a4b39a262ad02557df88d 100644 (file)
@@ -754,7 +754,9 @@ imapc_list_iter_next(struct mailbox_list_iterate_context *_ctx)
                if (node == NULL)
                        return mailbox_list_iter_default_next(_ctx);
        } while ((node->flags & MAILBOX_MATCHED) == 0 ||
-                imapc_list_is_ns_root(ctx, node));
+                (imapc_list_is_ns_root(ctx, node) &&
+                 (strcasecmp(vname, "INBOX") != 0 ||
+                  (ctx->info.ns->flags & NAMESPACE_FLAG_INBOX_ANY) == 0)));
 
        if (ctx->info.ns->prefix_len > 0 &&
            strcasecmp(vname, "INBOX") != 0 &&