From: Masud Hasan (mashasan) Date: Tue, 17 Nov 2020 17:14:59 +0000 (+0000) Subject: Merge pull request #2616 in SNORT/snort3 from ~MASHASAN/snort3:exp_request to master X-Git-Tag: 3.0.3-6~47 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=88743328115d4d0c5c1242aeaa87e641fc5da303;p=thirdparty%2Fsnort3.git Merge pull request #2616 in SNORT/snort3 from ~MASHASAN/snort3:exp_request to master Squashed commit of the following: commit 0f308941c37f049b2a4e2b0719d82697d6c0a5e0 Author: Masud Hasan Date: Thu Nov 12 19:56:02 2020 -0500 request: Expose methods to be used in plugins --- diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt index 5e23a2708..30b0f6add 100644 --- a/src/main/CMakeLists.txt +++ b/src/main/CMakeLists.txt @@ -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 diff --git a/src/main/request.cc b/src/main/request.cc index b70a30cf9..21e2957d2 100644 --- a/src/main/request.cc +++ b/src/main/request.cc @@ -112,3 +112,8 @@ bool Request::send_queued_response() return write_response(qr); } #endif + +Request& get_dispatched_request() +{ + return get_current_request(); +} diff --git a/src/main/request.h b/src/main/request.h index 607168fe2..7e6620ac3 100644 --- a/src/main/request.h +++ b/src/main/request.h @@ -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 queued_response; std::mutex queued_response_mutex; }; + +SO_PUBLIC Request& get_dispatched_request(); + #endif diff --git a/src/main/test/request_test.cc b/src/main/test/request_test.cc index 119472b60..375f1ed96 100644 --- a/src/main/test/request_test.cc +++ b/src/main/test/request_test.cc @@ -36,6 +36,12 @@ void LogMessage(const char*,...) { } using namespace snort; +Request& get_current_request() +{ + static Request my_req; + return my_req; +} + //-------------------------------------------------------------------------- // Request tests //--------------------------------------------------------------------------