]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm fetch/search: Use DOVEADM_MAIL_ITER_FLAG_STOP_WITH_CLIENT
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 21 Jan 2022 14:31:04 +0000 (16:31 +0200)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Tue, 25 Jan 2022 18:25:50 +0000 (18:25 +0000)
These commands only write output to the client, so it's safe to stop
them if the client disconnects.

src/doveadm/doveadm-mail-fetch.c
src/doveadm/doveadm-mail-search.c

index 4bd7464bef6b1d3bf84ff6f7d0f8a5628c174e5e..932a54de70b4efdcbeed41cc7cf464d301f4b77a 100644 (file)
@@ -609,7 +609,7 @@ cmd_fetch_box(struct fetch_cmd_context *ctx, const struct mailbox_info *info)
        if (doveadm_mail_iter_init(&ctx->ctx, info, ctx->ctx.search_args,
                                   ctx->wanted_fields,
                                   array_front(&ctx->header_fields),
-                                  0,
+                                  DOVEADM_MAIL_ITER_FLAG_STOP_WITH_CLIENT,
                                   &iter) < 0)
                return -1;
 
index 81400c103f7ef6203eb8dd883fdf3e8f6fa869c4..37c47e3052ea99349394be440f3234c4b68cf04d 100644 (file)
@@ -20,7 +20,8 @@ cmd_search_box(struct doveadm_mail_cmd_context *ctx,
        const char *guid_str;
        int ret = 0;
 
-       if (doveadm_mail_iter_init(ctx, info, ctx->search_args, 0, NULL, 0,
+       if (doveadm_mail_iter_init(ctx, info, ctx->search_args, 0, NULL,
+                                  DOVEADM_MAIL_ITER_FLAG_STOP_WITH_CLIENT,
                                   &iter) < 0)
                return -1;
        box = doveadm_mail_iter_get_mailbox(iter);