From 0871029d17d23a7875af074d76965675c31599f0 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Sun, 26 Jun 2022 16:25:36 +0200 Subject: [PATCH] mime: remove unused 'linerem' logic --- src/util-decode-mime.c | 53 ++++++++++++++++++------------------------ src/util-decode-mime.h | 3 --- 2 files changed, 23 insertions(+), 33 deletions(-) diff --git a/src/util-decode-mime.c b/src/util-decode-mime.c index 5a9d229255..cdcc5f90ec 100644 --- a/src/util-decode-mime.c +++ b/src/util-decode-mime.c @@ -1152,38 +1152,31 @@ static int ProcessDecodedDataChunk(const uint8_t *chunk, uint32_t len, (entity->ctnt_flags & CTNT_IS_HTML)) && ((entity->ctnt_flags & CTNT_IS_ATTACHMENT) == 0)) { - /* Remainder from previous line */ - if (state->linerem_len > 0) { - // TODO - } else { - /* No remainder from previous line */ - /* Parse each line one by one */ - remainPtr = (uint8_t *)chunk; - do { - tok = GetLine(remainPtr, len - (remainPtr - (uint8_t *)chunk), - &remainPtr, &tokLen); - if (tok != remainPtr) { - // DEBUG - ADDED - /* If last token found without CR/LF delimiter, then save - * and reconstruct with next chunk - */ - if (tok + tokLen - (uint8_t *) chunk == (int)len) { - PrintChars(SC_LOG_DEBUG, "LAST CHUNK LINE - CUTOFF", - tok, tokLen); - SCLogDebug("\nCHUNK CUTOFF CHARS: %u delim %u\n", - tokLen, len - (uint32_t)(tok + tokLen - (uint8_t *) chunk)); - } else { - /* Search line for URL */ - ret = FindUrlStrings(tok, tokLen, state); - if (ret != MIME_DEC_OK) { - SCLogDebug("Error: FindUrlStrings() function" - " failed: %d", ret); - break; - } + /* Parse each line one by one */ + remainPtr = (uint8_t *)chunk; + do { + tok = GetLine( + remainPtr, len - (remainPtr - (uint8_t *)chunk), &remainPtr, &tokLen); + if (tok != remainPtr) { + /* If last token found without CR/LF delimiter, then save + * and reconstruct with next chunk + */ + if (tok + tokLen - (uint8_t *)chunk == (int)len) { + PrintChars(SC_LOG_DEBUG, "LAST CHUNK LINE - CUTOFF", tok, tokLen); + SCLogDebug("\nCHUNK CUTOFF CHARS: %u delim %u\n", tokLen, + len - (uint32_t)(tok + tokLen - (uint8_t *)chunk)); + } else { + /* Search line for URL */ + ret = FindUrlStrings(tok, tokLen, state); + if (ret != MIME_DEC_OK) { + SCLogDebug("Error: FindUrlStrings() function" + " failed: %d", + ret); + break; } } - } while (tok != remainPtr && remainPtr - (uint8_t *) chunk < (int)len); - } + } + } while (tok != remainPtr && remainPtr - (uint8_t *)chunk < (int)len); } } diff --git a/src/util-decode-mime.h b/src/util-decode-mime.h index 1e4318fbaa..3fd15899b4 100644 --- a/src/util-decode-mime.h +++ b/src/util-decode-mime.h @@ -65,7 +65,6 @@ /* Publicly exposed size constants */ #define DATA_CHUNK_SIZE 3072 /* Should be divisible by 3 */ -#define LINEREM_SIZE 256 /* Mime Parser Constants */ #define HEADER_READY 0x01 @@ -197,8 +196,6 @@ typedef struct MimeDecParseState { uint32_t hlen; /**< Length of the last known header name */ uint32_t hvlen; /**< Total length of value list */ DataValue *hvalue; /**< Pointer to the incomplete header value list */ - uint8_t linerem[LINEREM_SIZE]; /**< Remainder from previous line (for URL extraction) */ - uint16_t linerem_len; /**< Length of remainder from previous line */ uint8_t bvremain[B64_BLOCK]; /**< Remainder from base64-decoded line */ uint8_t bvr_len; /**< Length of remainder from base64-decoded line */ uint8_t data_chunk[DATA_CHUNK_SIZE]; /**< Buffer holding data chunk */