From: Shravan Rangarajuvenkata (shrarang) Date: Mon, 21 Sep 2020 23:50:36 +0000 (+0000) Subject: Merge pull request #2490 in SNORT/snort3 from ~SATHIRKA/snort3:tp_reload_prune to... X-Git-Tag: 3.0.3-1~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50c3712a7fb4500b56d68ba40947a78114290d70;p=thirdparty%2Fsnort3.git Merge pull request #2490 in SNORT/snort3 from ~SATHIRKA/snort3:tp_reload_prune to master Squashed commit of the following: commit b0b8a306141597733b5361c88650c1f6bdb4fde9 Author: Sreeja Athirkandathil Narayanan Date: Mon Sep 14 09:35:36 2020 -0400 appid: Check third party context version while deleting connections --- diff --git a/src/network_inspectors/appid/appid_session.cc b/src/network_inspectors/appid/appid_session.cc index dad198118..699da59de 100644 --- a/src/network_inspectors/appid/appid_session.cc +++ b/src/network_inspectors/appid/appid_session.cc @@ -133,7 +133,8 @@ AppIdSession::~AppIdSession() if (tpsession) { - if (&(tpsession->get_ctxt()) == pkt_thread_tp_appid_ctxt) + if (pkt_thread_tp_appid_ctxt and + (tpsession->get_ctxt_version() == pkt_thread_tp_appid_ctxt->get_version())) tpsession->delete_with_ctxt(); else delete tpsession; diff --git a/src/network_inspectors/appid/test/tp_mock.cc b/src/network_inspectors/appid/test/tp_mock.cc index ad50397fa..ba8641d91 100644 --- a/src/network_inspectors/appid/test/tp_mock.cc +++ b/src/network_inspectors/appid/test/tp_mock.cc @@ -65,7 +65,7 @@ public: ThirdPartyAppIdSessionImpl(ThirdPartyAppIdContext& ctxt) : ThirdPartyAppIdSession(ctxt) { } - bool reset() override { return 1; } + void reset() override { } void delete_with_ctxt() override { delete this; } TPState process(const Packet&, AppidSessionDirection, vector&, ThirdPartyAppIDAttributeData&) override { return TP_STATE_INIT; } diff --git a/src/network_inspectors/appid/tp_appid_module_api.h b/src/network_inspectors/appid/tp_appid_module_api.h index 95760aa18..b34bb8ca8 100644 --- a/src/network_inspectors/appid/tp_appid_module_api.h +++ b/src/network_inspectors/appid/tp_appid_module_api.h @@ -26,7 +26,7 @@ #include "main/thread.h" #include "tp_appid_types.h" -#define THIRD_PARTY_APPID_API_VERSION 5 +#define THIRD_PARTY_APPID_API_VERSION 6 class ThirdPartyConfig { diff --git a/src/network_inspectors/appid/tp_appid_session_api.h b/src/network_inspectors/appid/tp_appid_session_api.h index d1e11bd2f..5247ea09a 100644 --- a/src/network_inspectors/appid/tp_appid_session_api.h +++ b/src/network_inspectors/appid/tp_appid_session_api.h @@ -44,7 +44,7 @@ public: } virtual ~ThirdPartyAppIdSession() { } - virtual bool reset() = 0; // just reset state + virtual void reset() = 0; // just reset state virtual void delete_with_ctxt() = 0; virtual TPState process(const snort::Packet&, AppidSessionDirection direction,