From: Russ Combs (rucombs) Date: Mon, 28 Sep 2015 18:54:17 +0000 (-0400) Subject: Merge pull request #49 in SNORT/snort3 from nhttp18 to master X-Git-Tag: 3.0.0-233~814 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d78c5d3daeb9cc27fb4e3a97cc1d895136ac5f7;p=thirdparty%2Fsnort3.git Merge pull request #49 in SNORT/snort3 from nhttp18 to master Squashed commit of the following: commit a9632f2204ace227f73960724844fb4592ff7055 Author: Tom Peters Date: Mon Sep 28 11:37:09 2015 -0400 minor NHI changes --- diff --git a/.gitignore b/.gitignore index bc9ed07b6..9aa15e575 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,8 @@ *.gcno *.gcda *.gcov +*.trs +*_test *~ ._Xcode* Cbuild/ @@ -72,6 +74,7 @@ src/tags src/test/suite_decl.h src/test/suite_list.h stamp-h1 +test-driver tools/snort2lua/snort2lua tools/snort2lua/tags tools/u2boat/u2boat diff --git a/src/service_inspectors/nhttp_inspect/nhttp_stream_splitter.cc b/src/service_inspectors/nhttp_inspect/nhttp_stream_splitter.cc index 3dc2a3aa3..d7a83d853 100644 --- a/src/service_inspectors/nhttp_inspect/nhttp_stream_splitter.cc +++ b/src/service_inspectors/nhttp_inspect/nhttp_stream_splitter.cc @@ -62,8 +62,7 @@ NHttpCutter* NHttpStreamSplitter::get_cutter(SectionType type, case SEC_STATUS: return (NHttpCutter*)new NHttpStatusCutter; case SEC_HEADER: case SEC_TRAILER: return (NHttpCutter*)new NHttpHeaderCutter; - case SEC_BODY: return (NHttpCutter*)new NHttpBodyCutter( - session_data->data_length[source_id]); + case SEC_BODY: return (NHttpCutter*)new NHttpBodyCutter(session_data->data_length[source_id]); case SEC_CHUNK: return (NHttpCutter*)new NHttpChunkCutter; default: assert(false); return nullptr; } @@ -192,8 +191,7 @@ StreamSplitter::Status NHttpStreamSplitter::scan(Flow* flow, const uint8_t* data } #endif - if (session_data->tcp_close[source_id]) - return StreamSplitter::ABORT; + assert(!session_data->tcp_close[source_id]); NHttpCutter*& cutter = session_data->cutter[source_id]; if (cutter == nullptr) @@ -379,18 +377,9 @@ const StreamBuffer* NHttpStreamSplitter::reassemble(Flow* flow, unsigned total, if (flags & PKT_PDU_TAIL) { - const bool not_chunk = session_data->section_type[source_id] != SEC_CHUNK; + assert (session_data->flush_size[source_id] >= offset + len); - if (session_data->flush_size[source_id] < offset + len) - { - assert(false); - if (not_chunk && (session_data->section_type[source_id] != SEC_BODY)) - { - delete[] buffer; - } - buffer = nullptr; - return nullptr; - } + const bool not_chunk = session_data->section_type[source_id] != SEC_CHUNK; const uint32_t section_length = not_chunk ? offset + len : session_data->chunk_offset[source_id];