From fb6f1b184c607d6c610272580554cc246ea093cc Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Fri, 2 Dec 2022 14:43:10 +0100 Subject: [PATCH] mime: do not skip empty lines for quoted-printable As these lines are in the file... Ticket: #5725 (cherry picked from commit 0e054af1acda120a011d5d8136bc9a15cdac2f51) --- src/util-decode-mime.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/util-decode-mime.c b/src/util-decode-mime.c index 6739e911fa..59d0872993 100644 --- a/src/util-decode-mime.c +++ b/src/util-decode-mime.c @@ -1479,6 +1479,12 @@ static int ProcessQuotedPrintableBodyLine(const uint8_t *buf, uint32_t len, SCLogDebug("Error: Max encoded input line length exceeded %u > %u", len, MAX_ENC_LINE_LEN); } + if (len == 0) { + memcpy(state->data_chunk + state->data_chunk_len, buf + len, + state->current_line_delimiter_len); + state->data_chunk_len += state->current_line_delimiter_len; + return ProcessDecodedDataChunk(state->data_chunk, state->data_chunk_len, state); + } remaining = len; offset = 0; @@ -2279,9 +2285,6 @@ static int ProcessMimeBody(const uint8_t *buf, uint32_t len, if (mdcfg->decode_base64 && (entity->ctnt_flags & CTNT_IS_BASE64)) { SCLogDebug("skip empty line"); return MIME_DEC_OK; - } else if (mdcfg->decode_quoted_printable && (entity->ctnt_flags & CTNT_IS_QP)) { - SCLogDebug("skip empty line"); - return MIME_DEC_OK; } SCLogDebug("not skipping empty line"); } -- 2.47.2