From: Timo Sirainen Date: Mon, 12 Jun 2017 21:55:36 +0000 (+0300) Subject: imapc: Avoid sending FETCH BODY[HEADER] when BODY[] is already being fetched X-Git-Tag: 2.3.0.rc1~1411 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=25fecf139625e35bbcd9262be8b28cbb4e8407fa;p=thirdparty%2Fdovecot%2Fcore.git imapc: Avoid sending FETCH BODY[HEADER] when BODY[] is already being fetched This probably only shows up in some special situations with plugins. --- diff --git a/src/lib-storage/index/imapc/imapc-mail-fetch.c b/src/lib-storage/index/imapc/imapc-mail-fetch.c index 110bc9f2e2..4ca4e09ce4 100644 --- a/src/lib-storage/index/imapc/imapc-mail-fetch.c +++ b/src/lib-storage/index/imapc/imapc-mail-fetch.c @@ -274,6 +274,7 @@ imapc_mail_send_fetch(struct mail *_mail, enum mail_fetch_field fields, full body and sometimes only the headers. */ str_append(str, "BODY.PEEK[HEADER] BODY.PEEK[TEXT] "); } + fields |= MAIL_FETCH_STREAM_HEADER; } else if ((fields & MAIL_FETCH_STREAM_HEADER) != 0) str_append(str, "BODY.PEEK[HEADER] "); else if (headers != NULL) { @@ -359,8 +360,7 @@ imapc_mail_get_wanted_fetch_fields(struct imapc_mail *mail) if (data->stream == NULL && data->access_part != 0) { if ((data->access_part & (READ_BODY | PARSE_BODY)) != 0) fields |= MAIL_FETCH_STREAM_BODY; - else - fields |= MAIL_FETCH_STREAM_HEADER; + fields |= MAIL_FETCH_STREAM_HEADER; } return fields; }