From: Mike Stepanek (mstepane) Date: Mon, 22 Oct 2018 15:48:13 +0000 (-0400) Subject: Merge pull request #1391 in SNORT/snort3 from navl_stats_config to master X-Git-Tag: 3.0.0-249~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ce6b91371d282c97e8b13d949412a3c3d0fe545;p=thirdparty%2Fsnort3.git Merge pull request #1391 in SNORT/snort3 from navl_stats_config to master Squashed commit of the following: commit 55d0efe0b33613605cdb1d54e124a2972f01ae7f Author: Silviu Minut Date: Thu Oct 11 16:50:57 2018 -0400 appid: make third party appid stats configurable --- diff --git a/src/network_inspectors/appid/appid_config.h b/src/network_inspectors/appid/appid_config.h index c959f92a5..4865dadb6 100644 --- a/src/network_inspectors/appid/appid_config.h +++ b/src/network_inspectors/appid/appid_config.h @@ -78,6 +78,8 @@ public: const char* app_detector_dir = nullptr; std::string tp_appid_path = ""; std::string tp_appid_config = ""; + bool tp_appid_stats_enable = false; + bool tp_appid_config_dump = false; uint32_t instance_id = 0; uint32_t memcap = 0; bool debug = false; @@ -148,4 +150,3 @@ private: }; #endif - diff --git a/src/network_inspectors/appid/appid_module.cc b/src/network_inspectors/appid/appid_module.cc index cae51f7df..4f6d079b9 100644 --- a/src/network_inspectors/appid/appid_module.cc +++ b/src/network_inspectors/appid/appid_module.cc @@ -82,6 +82,10 @@ static const Parameter s_params[] = "path to third party appid dynamic library" }, { "tp_appid_config", Parameter::PT_STRING, nullptr, nullptr, "path to third party appid configuration file" }, + { "tp_appid_stats_enable", Parameter::PT_BOOL, nullptr, nullptr, + "enable collection of stats and print stats on exit in third party module" }, + { "tp_appid_config_dump", Parameter::PT_BOOL, nullptr, nullptr, + "print third party configuration on startup" }, { "log_all_sessions", Parameter::PT_BOOL, nullptr, "false", "enable logging of all appid sessions" }, { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr } @@ -242,6 +246,10 @@ bool AppIdModule::set(const char* fqn, Value& v, SnortConfig* c) config->tp_appid_path = std::string(v.get_string()); else if ( v.is("tp_appid_config") ) config->tp_appid_config = std::string(v.get_string()); + else if ( v.is("tp_appid_stats_enable") ) + config->tp_appid_stats_enable = v.get_bool(); + else if ( v.is("tp_appid_config_dump") ) + config->tp_appid_config_dump = v.get_bool(); else if ( v.is("instance_id") ) config->instance_id = v.get_long(); else if ( v.is("debug") ) diff --git a/src/network_inspectors/appid/tp_appid_module_api.h b/src/network_inspectors/appid/tp_appid_module_api.h index 1b6ae75a4..8b7eb41fb 100644 --- a/src/network_inspectors/appid/tp_appid_module_api.h +++ b/src/network_inspectors/appid/tp_appid_module_api.h @@ -39,6 +39,8 @@ public: std::string tp_appid_config; std::vector xff_fields; std::vector old_xff_fields; + bool tp_appid_stats_enable = false; + bool tp_appid_config_dump = false; ThirdPartyConfig() { @@ -94,4 +96,3 @@ private: typedef ThirdPartyAppIDModule* (* CreateThirdPartyAppIDModule_t)(); #endif - diff --git a/src/network_inspectors/appid/tp_lib_handler.cc b/src/network_inspectors/appid/tp_lib_handler.cc index 3b4a2c6fb..879d4765e 100644 --- a/src/network_inspectors/appid/tp_lib_handler.cc +++ b/src/network_inspectors/appid/tp_lib_handler.cc @@ -117,7 +117,9 @@ void TPLibHandler::pinit(const AppIdModuleConfig* config) if (self->tp_so_handle or config->tp_appid_path.empty()) return; - self->tp_config.tp_appid_config=config->tp_appid_config; + self->tp_config.tp_appid_config = config->tp_appid_config; + self->tp_config.tp_appid_stats_enable = config->tp_appid_stats_enable; + self->tp_config.tp_appid_config_dump = config->tp_appid_config_dump; self->LoadCallback(config->tp_appid_path.c_str(),1);