]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #1095 in SNORT/snort3 from multiple_expected to master
authorMichael Altizer (mialtize) <mialtize@cisco.com>
Tue, 16 Jan 2018 22:12:48 +0000 (17:12 -0500)
committerMichael Altizer (mialtize) <mialtize@cisco.com>
Tue, 16 Jan 2018 22:12:48 +0000 (17:12 -0500)
Squashed commit of the following:

commit 98688dcd9ad5ffd954eb0b972fc893005b071c99
Author: Steven Baigal <sbaigal@cisco.com>
Date:   Tue Jan 16 15:07:12 2018 -0500

    removed a single-element structure ExpectFlows

src/flow/expect_cache.cc
src/flow/expect_cache.h

index 20403591161a796d9905876e482a8f5573f0edbe..85788ef5428eb7806e9609acc2f4cca2c6266858 100644 (file)
@@ -40,7 +40,7 @@
 #define MAX_WAIT  300
 #define MAX_PRUNE   5
 
-static THREAD_LOCAL ExpectFlows* packet_expect_flows = nullptr;
+static THREAD_LOCAL std::vector<ExpectFlow*>* packet_expect_flows = nullptr;
 
 ExpectFlow::~ExpectFlow()
 {
@@ -75,13 +75,13 @@ int ExpectFlow::add_flow_data(FlowData* fd)
 std::vector<ExpectFlow*>& ExpectFlow::get_expect_flows()
 {
     assert(packet_expect_flows);
-    return packet_expect_flows->expect_flows;
+    return *packet_expect_flows;
 }
 
 void ExpectFlow::reset_expect_flows()
 {
     if(packet_expect_flows)
-        packet_expect_flows->expect_flows.clear();
+        packet_expect_flows->clear();
 }
 
 FlowData* ExpectFlow::get_flow_data(unsigned id)
@@ -292,7 +292,7 @@ ExpectCache::ExpectCache(uint32_t max)
     expects = realized = 0;
     prunes = overflows = 0;
     if (packet_expect_flows == nullptr)
-        packet_expect_flows = new ExpectFlows();
+        packet_expect_flows = new std::vector<ExpectFlow*>;
 }
 
 ExpectCache::~ExpectCache()
@@ -431,7 +431,7 @@ int ExpectCache::add_flow(const Packet *ctrlPkt,
     if (new_expect_flow)
     {
         // chain all expected flows created by this packet
-        packet_expect_flows->expect_flows.push_back(last);
+        packet_expect_flows->push_back(last);
 
         ExpectEvent event(ctrlPkt, last, fd);
         DataBus::publish(EXPECT_EVENT_TYPE_EARLY_SESSION_CREATE_KEY, event, ctrlPkt->flow);
index a8d2e000ce9247d74905cbfa9b08a5a33091f1be..952ab27244c3f59c11828ce43dc7e0968e32dccc 100644 (file)
@@ -69,11 +69,6 @@ struct Packet;
 struct ExpectNode;
 struct ExpectFlow;
 
-struct ExpectFlows
-{
-    std::vector<ExpectFlow*> expect_flows;
-};
-
 struct SO_PUBLIC ExpectFlow
 {
     struct ExpectFlow* next;