From: Tom Peters (thopeter) Date: Tue, 26 Feb 2019 22:12:55 +0000 (-0500) Subject: Merge pull request #1525 in SNORT/snort3 from ~SBAIGAL/snort3:file_capture to master X-Git-Tag: 3.0.0-251~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e46b9b69a3033aac67619c9f0b31d22a0bc1d3ea;p=thirdparty%2Fsnort3.git Merge pull request #1525 in SNORT/snort3 from ~SBAIGAL/snort3:file_capture to master Squashed commit of the following: commit 5d33a2096b9e5122c9f5612136b90dbe0f886bca Author: Steven Baigal (sbaigal) Date: Thu Feb 14 15:32:12 2019 -0500 file_capture: sync with firewall changes --- diff --git a/src/file_api/CMakeLists.txt b/src/file_api/CMakeLists.txt index d26ec94b1..dadac33b0 100644 --- a/src/file_api/CMakeLists.txt +++ b/src/file_api/CMakeLists.txt @@ -1,6 +1,7 @@ set( FILE_API_INCLUDES file_api.h + file_capture.h file_config.h file_flows.h file_identifier.h @@ -16,7 +17,6 @@ add_library ( file_api OBJECT circular_buffer.cc circular_buffer.h file_capture.cc - file_capture.h file_cache.cc file_cache.h file_config.cc diff --git a/src/file_api/file_api.h b/src/file_api/file_api.h index 4aac1375a..39d3c5819 100644 --- a/src/file_api/file_api.h +++ b/src/file_api/file_api.h @@ -112,8 +112,6 @@ struct FileState FileSigState sig_state; }; -struct FileCaptureInfo; - namespace snort { #define FILE_ID_MAX 1024 diff --git a/src/file_api/file_capture.h b/src/file_api/file_capture.h index 9a9ff7efb..36a3ee97c 100644 --- a/src/file_api/file_capture.h +++ b/src/file_api/file_capture.h @@ -50,7 +50,7 @@ struct FileCaptureBlock FileCaptureBlock* next; /* next block of file data */ }; -class FileCapture +class SO_PUBLIC FileCapture { public: FileCapture(int64_t capture_min_size, int64_t capture_max_size); @@ -93,6 +93,10 @@ public: snort::FileInfo* get_file_info() { return file_info; } + int64_t get_max_file_capture_size() { return capture_max_size; } + int64_t get_file_capture_size() { return capture_size; } + void get_file_reset() { current_block = head; } + private: static void init_mempool(int64_t max_file_mem, int64_t block_size); diff --git a/src/file_api/file_lib.cc b/src/file_api/file_lib.cc index 405d038c5..f89a0afc3 100644 --- a/src/file_api/file_lib.cc +++ b/src/file_api/file_lib.cc @@ -251,6 +251,11 @@ FileCaptureState FileInfo::reserve_file(FileCapture*& dest) return state; } +int64_t FileInfo::get_max_file_capture_size() +{ + return (file_capture ? file_capture->get_max_file_capture_size() : 0); +} + FileContext::FileContext () { file_type_context = nullptr; diff --git a/src/file_api/file_lib.h b/src/file_api/file_lib.h index 58fdb9db2..0d631f136 100644 --- a/src/file_api/file_lib.h +++ b/src/file_api/file_lib.h @@ -76,6 +76,7 @@ public: // Preserve the file in memory until it is released // The file reserved will be returned and it will be detached from file context/session FileCaptureState reserve_file(FileCapture*& dest); + int64_t get_max_file_capture_size(); FileState get_file_state() { return file_state; }