]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
clear inspectors after logging
authorRuss Combs <rucombs@cisco.com>
Tue, 6 Dec 2016 18:57:53 +0000 (13:57 -0500)
committerRuss Combs <rucombs@cisco.com>
Wed, 18 Jan 2017 17:08:06 +0000 (12:08 -0500)
src/detection/detection_engine.cc
src/detection/detection_engine.h

index 611e99b41b3dfc964d7931072ea5bdd3fa3580a9..f30a6832b8d60c3977a3e05cdf7cc6bea5392955 100644 (file)
@@ -65,7 +65,7 @@ DetectionEngine::DetectionEngine()
 
 DetectionEngine::~DetectionEngine()
 {
-    clear_packet(context->packet);
+    finish_packet(context->packet);
     ContextSwitcher* sw = Snort::get_switcher();
 
     if ( context == sw->get_context() )
@@ -108,7 +108,7 @@ Packet* DetectionEngine::set_packet()
     return p;
 }
 
-void DetectionEngine::clear_packet(Packet* p)
+void DetectionEngine::finish_packet(Packet* p)
 {
     log_events(p);
     reset(p);
@@ -234,9 +234,9 @@ void DetectionEngine::onload()
     sw->resume(id);
 
     fp_onload(p);
-    InspectorManager::clear(p);
-    clear_packet(p);
+    finish_packet(p);
 
+    InspectorManager::clear(p);
     sw->complete();
 }
 
@@ -306,9 +306,9 @@ bool DetectionEngine::detect(Packet* p)
 
 void DetectionEngine::inspect(Packet* p)
 {
+    bool inspected = false;
     {
         PacketLatency::Context pkt_latency_ctx { p };
-        bool inspected = false;
 
         if ( p->ptrs.decode_flags & DECODE_ERR_FLAGS )
         {
@@ -352,17 +352,18 @@ void DetectionEngine::inspect(Packet* p)
         // performance hit on short-lived flows
 
         Stream::check_flow_closed(p);
-
-        if ( inspected )
-            InspectorManager::clear(p);
     }
 
     Profile profile(eventqPerfStats);
 
     log_events(p);
-    reset(p);
 
     Stream::check_flow_block_pending(p);
+
+    if ( inspected )
+        InspectorManager::clear(p);
+
+    reset(p);
 }
 
 //--------------------------------------------------------------------------
index cba6de9a64199d0c354ea433a91252519186b226..4ea0d48e83ca892c8eb1462eaa450da917f98c20 100644 (file)
@@ -98,7 +98,7 @@ private:
     static struct SF_EVENTQ* get_event_queue();
     static void offload_thread(IpsContext*);
     static void onload();
-    static void clear_packet(Packet*);
+    static void finish_packet(Packet*);
 
 private:
     IpsContext* context;