]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #2616 in SNORT/snort3 from ~MASHASAN/snort3:exp_request to master
authorMasud Hasan (mashasan) <mashasan@cisco.com>
Tue, 17 Nov 2020 17:14:59 +0000 (17:14 +0000)
committerMasud Hasan (mashasan) <mashasan@cisco.com>
Tue, 17 Nov 2020 17:14:59 +0000 (17:14 +0000)
Squashed commit of the following:

commit 0f308941c37f049b2a4e2b0719d82697d6c0a5e0
Author: Masud Hasan <mashasan@cisco.com>
Date:   Thu Nov 12 19:56:02 2020 -0500

    request: Expose methods to be used in plugins

src/main/CMakeLists.txt
src/main/request.cc
src/main/request.h
src/main/test/request_test.cc

index 5e23a2708278b0c382ffb4070d0895e4409c30d4..30b0f6adda1fade083e79fee5653220b5754abe8 100644 (file)
@@ -2,6 +2,7 @@
 set (INCLUDES
     analyzer_command.h
     policy.h
+    request.h
     snort.h
     snort_config.h
     snort_debug.h
@@ -30,7 +31,6 @@ add_library (main OBJECT
     oops_handler.h
     policy.cc
     request.cc
-    request.h
     shell.h
     shell.cc
     snort.cc
index b70a30cf9a1da41714bdfa7a5abb60a7cc6c9601..21e2957d2364c9e6b6288752d9ce9f9f5a362576 100644 (file)
@@ -112,3 +112,8 @@ bool Request::send_queued_response()
     return write_response(qr);
 }
 #endif
+
+Request& get_dispatched_request()
+{
+    return get_current_request();
+}
index 607168fe2a7d3b2c396095c823365a60cc2f225d..7e6620ac39ff32b4dd8f7ede7ba7aa2c18a37363 100644 (file)
@@ -27,7 +27,7 @@
 
 #include "main/snort_types.h"
 
-class Request
+class SO_PUBLIC Request
 {
 public:
     Request(int f = -1) : fd(f), bytes_read(0) { }
@@ -47,4 +47,7 @@ private:
     std::queue<const char*> queued_response;
     std::mutex queued_response_mutex;
 };
+
+SO_PUBLIC Request& get_dispatched_request();
+
 #endif
index 119472b60d603efef5a7ef618be8547472992c7c..375f1ed966a5795cd2cd0819fc3c6d8cebbb8505 100644 (file)
@@ -36,6 +36,12 @@ void LogMessage(const char*,...) { }
 
 using namespace snort;
 
+Request& get_current_request()
+{
+    static Request my_req;
+    return my_req;
+}
+
 //--------------------------------------------------------------------------
 // Request tests
 //--------------------------------------------------------------------------