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.2.31.rc1~26 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=51937e0b592346fbb94479a8c60c57d1607315f7;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 b481e7b531..3fdb42a6e5 100644 --- a/src/lib-storage/index/imapc/imapc-mail-fetch.c +++ b/src/lib-storage/index/imapc/imapc-mail-fetch.c @@ -275,6 +275,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) { @@ -362,8 +363,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; }