]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #3213: file_api: Handling file_data
authorBhargava Jandhyala (bjandhya) <bjandhya@cisco.com>
Mon, 13 Dec 2021 11:32:18 +0000 (11:32 +0000)
committerBhargava Jandhyala (bjandhya) <bjandhya@cisco.com>
Mon, 13 Dec 2021 11:32:18 +0000 (11:32 +0000)
Merge in SNORT/snort3 from ~VKAMBALA/snort3:user_file_data to master

Squashed commit of the following:

commit c3eed73709c95f65054f1643ee2e0455e8d5717a
Author: krishnakanth <vkambala@cisco.com>
Date:   Fri Dec 10 17:36:29 2021 +0530

    file_api: Handling file_data

src/file_api/file_lib.cc
src/file_api/file_lib.h

index 78680f653e03165b2b93ff6c44f4405e13672978..8e4604e076cc00d2805f2b130ced86283078e48e 100644 (file)
@@ -358,9 +358,13 @@ void FileContext::log_file_event(Flow* flow, FilePolicyBase* policy)
             break;
         }
 
+        user_file_data_mutex.lock();
+
         if (policy and log_needed and user_file_data)
             policy->log_file_action(flow, this, FILE_ACTION_DEFAULT);
 
+        user_file_data_mutex.unlock();
+
         if ( config->trace_type )
             print(std::cout);
     }
index 6a8cbebed2a232d60870183dfa8778fb9d51288c..459aed6164646f9d450ba3bd1f63c0d2bd638b2c 100644 (file)
@@ -24,6 +24,7 @@
 
 // This will be basis of file class
 
+#include <mutex>
 #include <ostream>
 #include <string>
 
@@ -108,6 +109,7 @@ protected:
     bool file_capture_enabled = false;
     FileState file_state = { FILE_CAPTURE_SUCCESS, FILE_SIG_PROCESSING };
     uint32_t policy_id = 0;
+    std::mutex user_file_data_mutex;
     UserFileDataBase* user_file_data = nullptr;
 
 private: