From bb63f8f1df1ebb546662d16647d9b6098fa59ca2 Mon Sep 17 00:00:00 2001 From: Marco Bettini Date: Mon, 14 Jul 2025 10:04:07 +0000 Subject: [PATCH] imapc: imapc_list_subscriptions_refresh() - Use LIST (SUBSCRIBED) when available rather than LSUB --- src/lib-storage/index/imapc/imapc-list.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib-storage/index/imapc/imapc-list.c b/src/lib-storage/index/imapc/imapc-list.c index 3eb3dfc63f..9d7a093593 100644 --- a/src/lib-storage/index/imapc/imapc-list.c +++ b/src/lib-storage/index/imapc/imapc-list.c @@ -39,6 +39,7 @@ #include "mail-storage-service.h" #include "mailbox-tree.h" #include "mailbox-list-subscriptions.h" +#include "imapc-connection.h" #include "imapc-storage.h" #include "imapc-list.h" @@ -883,7 +884,11 @@ imapc_list_subscriptions_refresh(struct mailbox_list *_src_list, else pattern = t_strdup_printf("%s*", src_list->set->imapc_list_prefix); imapc_command_set_flags(cmd, IMAPC_COMMAND_FLAG_RETRIABLE); - imapc_command_sendf(cmd, "LSUB \"\" %s", pattern); + + if (imapc_cmd_has_imap4rev2(cmd)) + imapc_command_sendf(cmd, "LIST (SUBSCRIBED) \"\" %s", pattern); + else + imapc_command_sendf(cmd, "LSUB \"\" %s", pattern); imapc_simple_run(&ctx, &cmd); if (ctx.ret < 0) -- 2.47.3