]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #3568: appid: send intermediate messages for appid reload commands to...
authorSreeja Athirkandathil Narayanan (sathirka) <sathirka@cisco.com>
Mon, 29 Aug 2022 16:51:57 +0000 (16:51 +0000)
committerSreeja Athirkandathil Narayanan (sathirka) <sathirka@cisco.com>
Mon, 29 Aug 2022 16:51:57 +0000 (16:51 +0000)
Merge in SNORT/snort3 from ~SATHIRKA/snort3:appid_reload_time to master

Squashed commit of the following:

commit 9b2753eccce757696fba1d90ea1c9b2c639ec781
Author: Sreeja Athirkandathil Narayanan <sathirka@cisco.com>
Date:   Mon Aug 15 13:16:42 2022 -0400

    appid: send intermediate messages for appid reload commands to the socket

src/control/control.h
src/main/analyzer_command.cc
src/main/reload_tracker.cc
src/main/reload_tracker.h
src/network_inspectors/appid/appid_module.cc

index 993986ac93d87110f84d58a7535fe1fdc7e10d7b..e7dc093ebd74ce7bd97b6d8674b57ab26bb370fc 100644 (file)
@@ -47,6 +47,7 @@ public:
     void block();
     void unblock();
     void remove();
+    bool show_prompt();
 
     bool is_blocked() const { return blocked; }
     bool is_closed() const { return (fd == -1); }
@@ -68,7 +69,6 @@ public:
     SO_PUBLIC static ControlConn* query_from_lua(const lua_State*);
 
 private:
-    bool show_prompt();
     void touch();
 
 private:
index 9f0f90bfabd8d617546ef2314df0d93d74508a75..42054cee51fc485dcce76a2aaef8ba6497596dab 100644 (file)
@@ -245,8 +245,8 @@ bool ACScratchUpdate::execute(Analyzer&, void**)
 
 ACScratchUpdate::~ACScratchUpdate()
 {
-    LogMessage("== scratch update complete\n");
-    ReloadTracker::end(ctrlcon);
+    log_message("== scratch update complete\n");
+    ReloadTracker::end(ctrlcon, true);
 }
 
 SFDAQInstance* AnalyzerCommand::get_daq_instance(Analyzer& analyzer)
index 73dd1bbff239dfdb08df10bc31e357d3df1fc65e..8fe077dacd381fcd09c1c9c8e16702dbda5c0141 100644 (file)
@@ -50,7 +50,7 @@ bool ReloadTracker::start(ControlConn* ctrlcon)
     return true;
 }
 
-void ReloadTracker::end(ControlConn* ctrlcon)
+void ReloadTracker::end(ControlConn* ctrlcon, bool prompt)
 {
 #ifdef NDEBUG
     UNUSED(ctrlcon);
@@ -59,6 +59,8 @@ void ReloadTracker::end(ControlConn* ctrlcon)
 #endif
     LogMessage("Reload ended. [%s]\n", current_command.c_str());
     current_command.clear();
+    if (prompt)
+        ctrl->show_prompt();
     ctrl = nullptr;
     reload_in_progress = false;
 }
index edc0b37c36fd08b17a367f8016340e36871e5bf9..c88a6bfa57a7236730438aa23587b72177f93ad3 100644 (file)
@@ -34,7 +34,7 @@ class SO_PUBLIC ReloadTracker
 public:
     ReloadTracker() = delete;
     static bool start(ControlConn* ctrlcon);
-    static void end(ControlConn* ctrlcon);
+    static void end(ControlConn* ctrlcon, bool prompt=false);
     static void failed(ControlConn* ctrlcon, const char* reason);
     static void update(ControlConn* ctrlcon, const char* status);
 
index 46b59b3e2f7f9e441e5dbfcac30f94711b95be72..e3681c0bddbd8b5588856dc5bf811d98830fd7ef 100644 (file)
@@ -179,8 +179,9 @@ ACThirdPartyAppIdContextSwap::~ACThirdPartyAppIdContextSwap()
     const AppIdContext& ctxt = inspector.get_ctxt();
     std::string file_path = ctxt.get_tp_appid_ctxt()->get_user_config();
     ctxt.get_odp_ctxt().get_app_info_mgr().dump_appid_configurations(file_path);
+    log_message("== reload third-party complete\n");
     LogMessage("== third-party configuration swap complete\n");
-    ReloadTracker::end(ctrlcon);
+    ReloadTracker::end(ctrlcon, true);
 }
 
 class ACThirdPartyAppIdContextUnload : public AnalyzerCommand
@@ -219,7 +220,7 @@ ACThirdPartyAppIdContextUnload::~ACThirdPartyAppIdContextUnload()
     AppIdContext& ctxt = inspector.get_ctxt();
     ctxt.create_tp_appid_ctxt();
     main_broadcast_command(new ACThirdPartyAppIdContextSwap(inspector, ctrlcon));
-    log_message("== reload third-party complete\n");
+    log_message("== unload old third-party complete\n");
     ReloadTracker::update(ctrlcon, "unload old third-party complete, start swapping to new configuration.");
 }