#include "hash/hash_defs.h"
#include "hash/xhash.h"
#include "log/messages.h"
+#include "managers/inspector_manager.h"
#include "main/snort_config.h"
#include "main/thread_config.h"
#include "packet_io/active.h"
#include "time/packet_time.h"
#include "file_flows.h"
+#include "file_inspect.h"
#include "file_module.h"
#include "file_service.h"
#include "file_stats.h"
if (to_create and !file)
file = add(hashKey, timeout, cache_full, cache_expire);
- if (file and !file->get_config())
+ if (file and !file->get_config() and !file->get_inspector())
{
- FileConfig *fc = get_file_config(SnortConfig::get_conf());
- file->set_config(fc);
+ FileInspect *inspector = (FileInspect*)InspectorManager::acquire_file_inspector();
+ if (inspector)
+ {
+ FileConfig *fc = inspector->config;
+ file->set_config(fc);
+ file->set_inspector(inspector);
+ }
}
return file;
}
void reset();
void set_config(FileConfig* fc) { config = fc; }
FileConfig* get_config() { return config; }
+ void set_inspector(FileInspect* ins) { inspector = ins; }
+ FileInspect* get_inspector() { return inspector; }
private:
uint64_t processed_bytes = 0;
void* file_type_context;