]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #49 in SNORT/snort3 from nhttp18 to master
authorRuss Combs (rucombs) <rucombs@cisco.com>
Mon, 28 Sep 2015 18:54:17 +0000 (14:54 -0400)
committerRuss Combs (rucombs) <rucombs@cisco.com>
Mon, 28 Sep 2015 18:54:17 +0000 (14:54 -0400)
Squashed commit of the following:

commit a9632f2204ace227f73960724844fb4592ff7055
Author: Tom Peters <thopeter@cisco.com>
Date:   Mon Sep 28 11:37:09 2015 -0400

    minor NHI changes

.gitignore
src/service_inspectors/nhttp_inspect/nhttp_stream_splitter.cc

index bc9ed07b6a27f72b62afa688d5dccdebf522695c..9aa15e5759c43b028bb742eb349a9c10f8c2856e 100644 (file)
@@ -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
index 3dc2a3aa381243b49dbd4c7757babe6975391b83..d7a83d853e24fca6891d4c4c70ab41425931e37e 100644 (file)
@@ -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];