Mercurial > dovecot > core-2.2
annotate src/doveadm/doveadm-mail-fetch.c @ 11205:dab4fb9f8140 HEAD
doveadm fetch: Added support for fetching mails from multiple mailboxes.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 28 Apr 2010 22:26:15 +0300 |
parents | 4a98f01eaaac |
children | c8981561c5f2 |
rev | line source |
---|---|
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
1 /* Copyright (c) 2010 Dovecot authors, see the included COPYING file */ |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
2 |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 #include "lib.h" |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
4 #include "istream.h" |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
5 #include "ostream.h" |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
6 #include "base64.h" |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
7 #include "randgen.h" |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
8 #include "str.h" |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
9 #include "mail-namespace.h" |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
10 #include "mail-storage.h" |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
11 #include "mail-search-build.h" |
11175
4a98f01eaaac
Added support for mail search input parsers. doveadm now uses command line parser.
Timo Sirainen <tss@iki.fi>
parents:
11147
diff
changeset
|
12 #include "mail-search-parser.h" |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
13 #include "doveadm-mail.h" |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
14 #include "doveadm-mail-list-iter.h" |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
15 |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
16 struct fetch_context { |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
17 struct mail_search_args *search_args; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
18 struct ostream *output; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
19 |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
20 string_t *prefix; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
21 unsigned int prefix_len; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
22 }; |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
23 |
11175
4a98f01eaaac
Added support for mail search input parsers. doveadm now uses command line parser.
Timo Sirainen <tss@iki.fi>
parents:
11147
diff
changeset
|
24 static struct mail_search_args *build_search_args(const char *const args[]) |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
25 { |
11175
4a98f01eaaac
Added support for mail search input parsers. doveadm now uses command line parser.
Timo Sirainen <tss@iki.fi>
parents:
11147
diff
changeset
|
26 struct mail_search_parser *parser; |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
27 struct mail_search_args *sargs; |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
28 const char *error; |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
29 |
11175
4a98f01eaaac
Added support for mail search input parsers. doveadm now uses command line parser.
Timo Sirainen <tss@iki.fi>
parents:
11147
diff
changeset
|
30 parser = mail_search_parser_init_cmdline(args); |
4a98f01eaaac
Added support for mail search input parsers. doveadm now uses command line parser.
Timo Sirainen <tss@iki.fi>
parents:
11147
diff
changeset
|
31 if (mail_search_build(mail_search_register_human, parser, "UTF-8", |
4a98f01eaaac
Added support for mail search input parsers. doveadm now uses command line parser.
Timo Sirainen <tss@iki.fi>
parents:
11147
diff
changeset
|
32 &sargs, &error) < 0) |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
33 i_fatal("%s", error); |
11175
4a98f01eaaac
Added support for mail search input parsers. doveadm now uses command line parser.
Timo Sirainen <tss@iki.fi>
parents:
11147
diff
changeset
|
34 mail_search_parser_deinit(&parser); |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
35 return sargs; |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
36 } |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
37 |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
38 static void |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
39 cmd_fetch_box(struct fetch_context *ctx, struct mailbox *box) |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
40 { |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
41 struct mail_storage *storage = mailbox_get_storage(box); |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
42 struct mailbox_transaction_context *t; |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
43 struct mail_search_context *search_ctx; |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
44 struct mail *mail; |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
45 struct istream *input; |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
46 |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
47 if (mailbox_sync(box, MAILBOX_SYNC_FLAG_FULL_READ) < 0) { |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
48 i_error("Syncing mailbox %s failed: %s", mailbox_get_vname(box), |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
49 mail_storage_get_last_error(storage, NULL)); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
50 return; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
51 } |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
52 |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
53 mail_search_args_init(ctx->search_args, box, FALSE, NULL); |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
54 t = mailbox_transaction_begin(box, 0); |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
55 search_ctx = mailbox_search_init(t, ctx->search_args, NULL); |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
56 mail = mail_alloc(t, 0, NULL); |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
57 while (mailbox_search_next(search_ctx, mail)) { |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
58 if (mail_get_stream(mail, NULL, NULL, &input) < 0) { |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
59 i_error("Couldn't open mail uid=%u: %s", mail->uid, |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
60 mail_storage_get_last_error(storage, NULL)); |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
61 continue; |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
62 } |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
63 |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
64 str_truncate(ctx->prefix, ctx->prefix_len); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
65 str_printfa(ctx->prefix, "seq=%u uid=%u\n", |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
66 mail->seq, mail->uid); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
67 if (o_stream_send(ctx->output, str_data(ctx->prefix), |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
68 str_len(ctx->prefix)) < 0) |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
69 i_fatal("write(stdout) failed: %m"); |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
70 |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
71 while (!i_stream_is_eof(input)) { |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
72 if (o_stream_send_istream(ctx->output, input) <= 0) |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
73 i_fatal("write(stdout) failed: %m"); |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
74 } |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
75 } |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
76 mail_free(&mail); |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
77 if (mailbox_search_deinit(&search_ctx) < 0) { |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
78 i_error("Search failed: %s", |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
79 mail_storage_get_last_error(storage, NULL)); |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
80 } |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
81 mail_search_args_deinit(ctx->search_args); |
11147
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
82 (void)mailbox_transaction_commit(&t); |
51eea5bb3336
doveadm: Added initial code for fetch command.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
83 } |
11205
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
84 |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
85 void cmd_fetch(struct mail_user *user, const char *const args[]) |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
86 { |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
87 const enum mailbox_list_iter_flags iter_flags = |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
88 MAILBOX_LIST_ITER_VIRTUAL_NAMES | |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
89 MAILBOX_LIST_ITER_NO_AUTO_INBOX | |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
90 MAILBOX_LIST_ITER_RETURN_NO_FLAGS; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
91 struct fetch_context ctx; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
92 struct doveadm_mail_list_iter *iter; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
93 const struct mailbox_info *info; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
94 struct mailbox *box; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
95 const char *storage_name; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
96 unsigned char prefix_buf[9]; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
97 |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
98 memset(&ctx, 0, sizeof(ctx)); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
99 ctx.output = o_stream_create_fd(STDOUT_FILENO, 0, FALSE); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
100 |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
101 random_fill_weak(prefix_buf, sizeof(prefix_buf)); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
102 ctx.prefix = str_new(default_pool, 512); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
103 str_append(ctx.prefix, "==="); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
104 base64_encode(prefix_buf, sizeof(prefix_buf), ctx.prefix); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
105 str_append_c(ctx.prefix, ' '); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
106 ctx.prefix_len = str_len(ctx.prefix); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
107 |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
108 if (args[0] == NULL) |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
109 doveadm_mail_help_name("fetch"); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
110 ctx.search_args = build_search_args(args); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
111 |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
112 iter = doveadm_mail_list_iter_init(user, ctx.search_args, iter_flags); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
113 while ((info = doveadm_mail_list_iter_next(iter)) != NULL) T_BEGIN { |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
114 storage_name = mail_namespace_get_storage_name(info->ns, |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
115 info->name); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
116 box = mailbox_alloc(info->ns->list, storage_name, |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
117 MAILBOX_FLAG_KEEP_RECENT | |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
118 MAILBOX_FLAG_IGNORE_ACLS); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
119 (void)cmd_fetch_box(&ctx, box); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
120 mailbox_free(&box); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
121 } T_END; |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
122 doveadm_mail_list_iter_deinit(&iter); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
123 o_stream_unref(&ctx.output); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
124 str_free(&ctx.prefix); |
dab4fb9f8140
doveadm fetch: Added support for fetching mails from multiple mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
11175
diff
changeset
|
125 } |