From: Pranav Bhalerao (prbhaler) Date: Tue, 7 Jun 2022 09:30:18 +0000 (+0000) Subject: Pull request #3448: Ips bug port X-Git-Tag: 3.1.32.0~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=57875a52968f8fb85fb057e141cc02ea89903489;p=thirdparty%2Fsnort3.git Pull request #3448: Ips bug port Merge in SNORT/snort3 from ~KDEWANGA/snort3:ips_bug_port to master Squashed commit of the following: commit f55b2bc2a1e3384cd53f4fed5c2c797ec31fc73f Author: kdewanga Date: Sun May 22 10:38:38 2022 +0000 logger: added reload function to create new files when snort reloads --- diff --git a/src/framework/logger.h b/src/framework/logger.h index 3ce253c84..df0174f4d 100644 --- a/src/framework/logger.h +++ b/src/framework/logger.h @@ -55,6 +55,7 @@ public: virtual void open() { } virtual void close() { } virtual void reset() { } + virtual void reload() { } virtual void alert(Packet*, const char*, const Event&) { } virtual void log(Packet*, const char*, Event*) { } diff --git a/src/main/analyzer.cc b/src/main/analyzer.cc index a04b44d10..2424c6d42 100644 --- a/src/main/analyzer.cc +++ b/src/main/analyzer.cc @@ -630,6 +630,7 @@ void Analyzer::reinit(const SnortConfig* sc) InspectorManager::thread_reinit(sc); ActionManager::thread_reinit(sc); TraceApi::thread_reinit(sc->trace_config); + EventManager::reload_outputs(); } void Analyzer::stop_removed(const SnortConfig* sc) diff --git a/src/main/test/distill_verdict_stubs.h b/src/main/test/distill_verdict_stubs.h index c4d81c14d..9870ff8ba 100644 --- a/src/main/test/distill_verdict_stubs.h +++ b/src/main/test/distill_verdict_stubs.h @@ -98,6 +98,7 @@ void CodecManager::thread_init(const snort::SnortConfig*) { } void CodecManager::thread_term() { } void EventManager::open_outputs() { } void EventManager::close_outputs() { } +void EventManager::reload_outputs() { } void IpsManager::setup_options(const snort::SnortConfig*) { } void IpsManager::clear_options(const snort::SnortConfig*) { } void ActionManager::thread_init(const snort::SnortConfig*) { } diff --git a/src/managers/CMakeLists.txt b/src/managers/CMakeLists.txt index 175257456..f4db4a872 100644 --- a/src/managers/CMakeLists.txt +++ b/src/managers/CMakeLists.txt @@ -10,6 +10,7 @@ set (CPP_INCLUDES set( MANAGERS_INCLUDES codec_manager.h + event_manager.h inspector_manager.h ) @@ -23,7 +24,6 @@ add_library( managers OBJECT action_manager.cc codec_manager.cc event_manager.cc - event_manager.h inspector_manager.cc ips_manager.cc ips_manager.h diff --git a/src/managers/event_manager.cc b/src/managers/event_manager.cc index 511eefcc7..20525d70e 100644 --- a/src/managers/event_manager.cc +++ b/src/managers/event_manager.cc @@ -230,6 +230,13 @@ void EventManager::close_outputs() p->close(); } +void EventManager::reload_outputs() +{ + for ( auto p : s_loggers.outputs ) + p->reload(); + LogMessage("logger file reinitialized\n"); +} + void EventManager::call_alerters( OutputSet* idx, Packet* pkt, const char* message, const Event& event) { diff --git a/src/managers/event_manager.h b/src/managers/event_manager.h index 3203e1ffb..553a22140 100644 --- a/src/managers/event_manager.h +++ b/src/managers/event_manager.h @@ -60,6 +60,7 @@ public: static void open_outputs(); static void close_outputs(); + static void reload_outputs(); static void call_alerters(OutputSet*, snort::Packet*, const char* message, const Event&); static void call_loggers(OutputSet*, snort::Packet*, const char* message, Event*);