From f116907b4f33e9dca45db71a785289a4def55ebb Mon Sep 17 00:00:00 2001 From: Markus Valentin Date: Mon, 7 Apr 2025 14:18:54 +0200 Subject: [PATCH] imap: Do not use deprecated IMAP4rev1 search arguments if IMAP4rev2 is enabled --- src/imap/imap-search-args.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/imap/imap-search-args.c b/src/imap/imap-search-args.c index df73a70c84..a66b8f74be 100644 --- a/src/imap/imap-search-args.c +++ b/src/imap/imap-search-args.c @@ -49,6 +49,7 @@ int imap_search_args_build(struct client_command_context *cmd, { struct mail_search_parser *parser; struct mail_search_args *sargs; + struct mail_search_register *reg; const char *client_error; int ret; @@ -58,8 +59,15 @@ int imap_search_args_build(struct client_command_context *cmd, } parser = mail_search_parser_init_imap(args); - ret = mail_search_build(mail_search_register_get_imap4rev1(), - parser, &charset, &sargs, &client_error); + /* If IMAP4REV2 is enabled do not use IMAPREV1 search + registers (NEW, RECENT). */ + if ((client_enabled_mailbox_features(cmd->client) & + MAILBOX_FEATURE_IMAP4REV2) != 0) + reg = mail_search_register_get_imap4rev2(); + else + reg = mail_search_register_get_imap4rev1(); + + ret = mail_search_build(reg, parser, &charset, &sargs, &client_error); mail_search_parser_deinit(&parser); if (ret < 0) { if (charset == NULL) { -- 2.47.3