]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imapc: imapc_list_subscriptions_refresh() - Use LIST (SUBSCRIBED) when available...
authorMarco Bettini <marco.bettini@open-xchange.com>
Mon, 14 Jul 2025 10:04:07 +0000 (10:04 +0000)
committerMarco Bettini <marco.bettini@open-xchange.com>
Mon, 14 Jul 2025 10:23:27 +0000 (10:23 +0000)
src/lib-storage/index/imapc/imapc-list.c

index 3eb3dfc63f34c5eef68f3272fdadb0ee95b3b312..9d7a0935934f7768c41696c50a5624861c576dcb 100644 (file)
@@ -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)