using namespace snort;
-bool FileService::file_type_id_enabled = false;
+std::atomic<bool> FileService::file_type_id_enabled(false);
bool FileService::file_signature_enabled = false;
bool FileService::file_capture_enabled = false;
bool FileService::file_processing_initiated = false;
void FileService::enable_file_type()
{
- file_type_id_enabled = true;
+ file_type_id_enabled.store(true, std::memory_order_relaxed);
}
void FileService::enable_file_signature()
bool FileService::is_file_service_enabled()
{
- return (file_type_id_enabled or file_signature_enabled);
+ return (file_type_id_enabled.load() or file_signature_enabled);
}
/* Get maximal file depth based on configuration
if (!file_config)
return;
- if (file_type_id_enabled)
+ if (file_type_id_enabled.load())
{
file_config->file_depth = file_config->file_type_depth;
}
static void enable_file_type();
static void enable_file_signature();
static void enable_file_capture();
- static bool is_file_type_id_enabled() { return file_type_id_enabled; }
+ static bool is_file_type_id_enabled() { return file_type_id_enabled.load(); }
static bool is_file_signature_enabled() { return file_signature_enabled; }
static bool is_file_capture_enabled() { return file_capture_enabled; }
static bool is_file_service_enabled();
static DecodeConfig decode_conf;
private:
- static bool file_type_id_enabled;
+ static std::atomic<bool> file_type_id_enabled;
static bool file_signature_enabled;
static bool file_capture_enabled;
static bool file_processing_initiated;