From fb29773fdada37d8bbcf6a270fe4bb7fdc8fff04 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Sat, 2 Jan 2016 17:13:00 +0100
Subject: [PATCH] lib-sieve: Forgot to enable header unfolding for (mime)
 headers parsed from the whole message.

---
 src/lib-sieve/sieve-message.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/lib-sieve/sieve-message.c b/src/lib-sieve/sieve-message.c
index bfcca53c9..25f763c45 100644
--- a/src/lib-sieve/sieve-message.c
+++ b/src/lib-sieve/sieve-message.c
@@ -1078,6 +1078,7 @@ static int sieve_message_parts_add_missing
 	struct mail *mail = sieve_message_get_mail(renv->msgctx);
 	enum message_parser_flags mparser_flags =
 		MESSAGE_PARSER_FLAG_INCLUDE_MULTIPART_BLOCKS;
+	enum message_header_parser_flags hparser_flags = 0;
 	ARRAY(struct sieve_message_header) headers;
 	struct sieve_message_part *body_part, *header_part, *last_part;
 	struct message_parser_ctx *parser;
@@ -1114,6 +1115,7 @@ static int sieve_message_parts_add_missing
 	if (iter_all) {
 		t_array_init(&headers, 64);
 		hdr_content = t_str_new(512);
+		hparser_flags |= MESSAGE_HEADER_PARSER_FLAG_CLEAN_ONELINE;
 	} else {
 		memset(&headers, 0, sizeof(headers));
 	}
@@ -1122,10 +1124,10 @@ static int sieve_message_parts_add_missing
 	decoder = message_decoder_init(NULL, 0);
 
 	// FIXME: currently not tested with edit-mail.
-		//parser = message_parser_init_from_parts(parts, input, 0,
-		//mparser_flags);
-	parser = message_parser_init
-		(pool_datastack_create(), input, 0, mparser_flags);
+		//parser = message_parser_init_from_parts(parts, input,
+		// hparser_flags, mparser_flags);
+	parser = message_parser_init(pool_datastack_create(),
+		input, hparser_flags, mparser_flags);
 	while ( (ret=message_parser_parse_next_block
 		(parser, &block)) > 0 ) {
 		struct sieve_message_part **body_part_idx;
-- 
GitLab