]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #1681 in SNORT/snort3 from ~NEHASH4/snort3:CLI_DAQ_ANALYZER to...
authorMichael Altizer (mialtize) <mialtize@cisco.com>
Mon, 19 Aug 2019 19:31:44 +0000 (15:31 -0400)
committerMichael Altizer (mialtize) <mialtize@cisco.com>
Mon, 19 Aug 2019 19:31:44 +0000 (15:31 -0400)
Squashed commit of the following:

commit 92a97c04e110ddcf808fb0be4052d960ffba6699
Author: Neha Sharma <nehash4@cisco.com>
Date:   Mon Aug 19 13:51:06 2019 -0400

    analyzer_command: Import into snort namespace and add the ability to retrieve the DAQ instance from an Analyzer

src/main/ac_shell_cmd.h
src/main/analyzer.h
src/main/analyzer_command.cc
src/main/analyzer_command.h

index c8e99ea706a7d6b67d8b77f9476b6b7be641a6a9..29b21fc98b64829f0c20dfe0707521d3cae3bad0 100644 (file)
 #include "main/analyzer.h"
 #include "main/analyzer_command.h"
 
-class ACShellCmd : public AnalyzerCommand
+class ACShellCmd : public snort::AnalyzerCommand
 {
 public:
     ACShellCmd() = delete;
-    ACShellCmd(int fd, AnalyzerCommand* ac_cmd);
+    ACShellCmd(int fd, snort::AnalyzerCommand* ac_cmd);
     void execute(Analyzer&) override;
     const char* stringify() override { return ac->stringify(); }
     ~ACShellCmd() override;
 
 private:
     int control_fd = -1;
-    AnalyzerCommand* ac;
+    snort::AnalyzerCommand* ac;
 };
 
 #endif
index 55ebb66dbba4069a149665177d859d4c02120290..f024c2e3e2ecee6befd33eaf917f0a532d13e36b 100644 (file)
@@ -34,7 +34,6 @@
 
 #include "thread.h"
 
-class AnalyzerCommand;
 class ContextSwitcher;
 class OopsHandler;
 class RetryQueue;
@@ -42,6 +41,7 @@ class Swapper;
 
 namespace snort
 {
+class AnalyzerCommand;
 class SFDAQInstance;
 struct Packet;
 struct SnortConfig;
@@ -80,7 +80,7 @@ public:
     void set_pause_after_cnt(uint64_t msg_cnt) { pause_after_cnt = msg_cnt; }
     void set_skip_cnt(uint64_t msg_cnt) { skip_cnt = msg_cnt; }
 
-    void execute(AnalyzerCommand*);
+    void execute(snort::AnalyzerCommand*);
 
     void post_process_packet(snort::Packet*);
     bool process_rebuilt_packet(snort::Packet*, const DAQ_PktHdr_t*, const uint8_t* pkt, uint32_t pktlen);
@@ -96,6 +96,7 @@ public:
     void reload_daq();
     void reinit(snort::SnortConfig*);
     void rotate();
+    snort::SFDAQInstance* get_daq_instance() { return daq_instance; }
 
 private:
     void analyze();
@@ -112,13 +113,13 @@ private:
     void init_unprivileged();
     void term();
     void show_source();
-    void cache_analyzer_command(AnalyzerCommand* aci) { ac = aci; }
-    void add_command_to_completed_queue(AnalyzerCommand *ac);
-    AnalyzerCommand* get_analyzer_command() { return ac; }
+    void cache_analyzer_command(snort::AnalyzerCommand* aci) { ac = aci; }
+    void add_command_to_completed_queue(snort::AnalyzerCommand *ac);
+    snort::AnalyzerCommand* get_analyzer_command() { return ac; }
 public:
-    std::queue<AnalyzerCommand*> completed_work_queue;
+    std::queue<snort::AnalyzerCommand*> completed_work_queue;
     std::mutex completed_work_queue_mutex;
-    std::queue<AnalyzerCommand*> pending_work_queue;
+    std::queue<snort::AnalyzerCommand*> pending_work_queue;
 
 private:
     std::atomic<State> state;
@@ -135,7 +136,7 @@ private:
     RetryQueue* retry_queue = nullptr;
     OopsHandler* oops_handler = nullptr;
     ContextSwitcher* switcher = nullptr;
-    AnalyzerCommand* ac = nullptr;
+    snort::AnalyzerCommand* ac = nullptr;
 
     std::mutex pending_work_queue_mutex;
 };
index ae2323bbaefb72660c951f6caf9d7732ca9f7107..fb0fab7c00ff4856e22b4206bd56e8c431891af9 100644 (file)
@@ -113,3 +113,7 @@ ACDAQSwap::~ACDAQSwap()
     snort::LogMessage("== daq module reload complete\n");
 }
 
+snort::SFDAQInstance* snort::AnalyzerCommand::get_daq_instance(Analyzer& analyzer) 
+{
+    return analyzer.get_daq_instance();
+}
index d2ce19d8ad40d52392a99f3708aed8b1c2c3d381..3b0f1118b8f3a66184edcdb55f117dc3b4d5f45b 100644 (file)
@@ -26,6 +26,10 @@ class Analyzer;
 class Request;
 class Swapper;
 
+namespace snort
+{
+class SFDAQInstance;
+
 class AnalyzerCommand
 {
 public:
@@ -36,12 +40,14 @@ public:
     unsigned put() { return --ref_count; }
     bool is_complete() { return completion_status; }
     void set_completion_status(bool status) { completion_status = status; }
+    SO_PUBLIC static snort::SFDAQInstance* get_daq_instance(Analyzer& analyzer);
 private:
     unsigned ref_count = 0;
     bool completion_status = true;
 };
+}
 
-class ACGetStats : public AnalyzerCommand
+class ACGetStats : public snort::AnalyzerCommand
 {
 public:
     void execute(Analyzer&) override;
@@ -49,14 +55,14 @@ public:
     ~ACGetStats() override;
 };
 
-class ACPause : public AnalyzerCommand
+class ACPause : public snort::AnalyzerCommand
 {
 public:
     void execute(Analyzer&) override;
     const char* stringify() override { return "PAUSE"; }
 };
 
-class ACResume : public AnalyzerCommand
+class ACResume : public snort::AnalyzerCommand
 {
 public:
     ACResume(uint64_t msg_cnt): msg_cnt(msg_cnt) { }
@@ -66,14 +72,14 @@ private:
     uint64_t msg_cnt;
 };
 
-class ACRotate : public AnalyzerCommand
+class ACRotate : public snort::AnalyzerCommand
 {
 public:
     void execute(Analyzer&) override;
     const char* stringify() override { return "ROTATE"; }
 };
 
-class ACRun : public AnalyzerCommand
+class ACRun : public snort::AnalyzerCommand
 {
 public:
     ACRun() = delete;
@@ -84,21 +90,21 @@ private:
     bool paused = false;
 };
 
-class ACStart : public AnalyzerCommand
+class ACStart : public snort::AnalyzerCommand
 {
 public:
     void execute(Analyzer&) override;
     const char* stringify() override { return "START"; }
 };
 
-class ACStop : public AnalyzerCommand
+class ACStop : public snort::AnalyzerCommand
 {
 public:
     void execute(Analyzer&) override;
     const char* stringify() override { return "STOP"; }
 };
 
-class ACSwap : public AnalyzerCommand
+class ACSwap : public snort::AnalyzerCommand
 {
 public:
     ACSwap() = delete;
@@ -112,7 +118,7 @@ private:
     bool from_shell;
 };
 
-class ACDAQSwap : public AnalyzerCommand
+class ACDAQSwap : public snort::AnalyzerCommand
 {
 public:
     void execute(Analyzer&) override;
@@ -123,7 +129,7 @@ public:
 namespace snort
 {
 // from main.cc
-SO_PUBLIC void main_broadcast_command(AnalyzerCommand* ac, bool from_shell = false);
+SO_PUBLIC void main_broadcast_command(snort::AnalyzerCommand* ac, bool from_shell = false);
 }
 
 #endif