Skip to content

Commit

Permalink
lib-imap-storage: Fixed fetching partial headers for message/rfc822 part
Browse files Browse the repository at this point in the history
Again broken by 333602c.
  • Loading branch information
sirainen committed May 18, 2016
1 parent 76d21e3 commit 21d094c
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions src/lib-imap-storage/imap-msgpart.c
Expand Up @@ -375,19 +375,27 @@ imap_msgpart_get_partial_header(struct mail *mail, struct istream *mail_input,
struct istream *input;
bool has_nuls;

if (msgpart->fetch_type == FETCH_HEADER_FIELDS) {
/* mail_get_header_stream() already filtered out the
unwanted headers. */
input = mail_input;
i_stream_ref(input);
} else {
if (msgpart->fetch_type != FETCH_HEADER_FIELDS) {
i_assert(msgpart->fetch_type == FETCH_HEADER_FIELDS_NOT);
input = i_stream_create_header_filter(mail_input,
HEADER_FILTER_EXCLUDE |
HEADER_FILTER_HIDE_BODY,
hdr_fields, hdr_count,
*null_header_filter_callback,
(void *)NULL);
} else if (msgpart->section_number[0] != '\0') {
/* fetching partial headers for a message/rfc822 part. */
input = i_stream_create_header_filter(mail_input,
HEADER_FILTER_INCLUDE |
HEADER_FILTER_HIDE_BODY,
hdr_fields, hdr_count,
*null_header_filter_callback,
(void *)NULL);
} else {
/* mail_get_header_stream() already filtered out the
unwanted headers. */
input = mail_input;
i_stream_ref(input);
}

if (message_get_header_size(input, &hdr_size, &has_nuls) < 0) {
Expand Down

0 comments on commit 21d094c

Please sign in to comment.