]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #2066 in SNORT/snort3 from ~SATHIRKA/snort3:reload_mid_stream...
authorShravan Rangarajuvenkata (shrarang) <shrarang@cisco.com>
Tue, 10 Mar 2020 13:16:29 +0000 (13:16 +0000)
committerShravan Rangarajuvenkata (shrarang) <shrarang@cisco.com>
Tue, 10 Mar 2020 13:16:29 +0000 (13:16 +0000)
Squashed commit of the following:

commit 74a624bbb17b3405addc1dc0107df4070c6b2274
Author: Sreeja Athirkandathil Narayanan <sathirka@cisco.com>
Date:   Fri Mar 6 14:19:29 2020 -0500

    appid: Adding support for third-party reload on midstream session

src/network_inspectors/appid/appid_discovery.cc

index ec33c22bb40079cc587d99aaaa9bbe5fc10cfe4e..baac359f3c27efd7797e8f2aec45db57c21715c0 100644 (file)
@@ -791,7 +791,16 @@ bool AppIdDiscovery::do_discovery(Packet* p, AppIdSession& asd,
     if (tp_appid_ctxt)
     {
         // Skip third-party inspection for sessions using old config
-        if ((asd.tpsession and &(asd.tpsession->get_ctxt()) == tp_appid_ctxt) || !asd.tpsession)
+        if (asd.tpsession and &(asd.tpsession->get_ctxt()) != tp_appid_ctxt)
+        {
+            bool is_tp_done = asd.is_tp_processing_done();
+            delete asd.tpsession;
+            asd.tpsession = nullptr;
+            if (!is_tp_done)
+                is_discovery_done = do_tp_discovery(*tp_appid_ctxt, asd, protocol, p,
+                    direction, change_bits);
+        }
+        else
             is_discovery_done = do_tp_discovery(*tp_appid_ctxt, asd, protocol, p,
                 direction, change_bits);
     }