From: Marco Bettini Date: Mon, 14 Jul 2025 10:04:07 +0000 (+0000) Subject: imapc: imapc_list_subscriptions_refresh() - Use LIST (SUBSCRIBED) when available... X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bb63f8f1df1ebb546662d16647d9b6098fa59ca2;p=thirdparty%2Fdovecot%2Fcore.git imapc: imapc_list_subscriptions_refresh() - Use LIST (SUBSCRIBED) when available rather than LSUB --- 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)