]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #1085 in SNORT/snort3 from fw_file to master
authorHui Cao (huica) <huica@cisco.com>
Fri, 15 Dec 2017 13:43:28 +0000 (08:43 -0500)
committerHui Cao (huica) <huica@cisco.com>
Fri, 15 Dec 2017 13:43:28 +0000 (08:43 -0500)
Squashed commit of the following:

commit 5f3bce069300fe60a281e7251fc5b200305b6caf
Author: Victor Roemer <viroemer@cisco.com>
Date:   Thu Dec 14 14:00:05 2017 -0500

    inspector_manager: Fix acquire

commit 25ff14c2f924b9699279cab6dd70d06d63ac37ac
Author: Victor Roemer (viroemer) <viroemer@cisco.com>
Date:   Thu Dec 14 10:50:20 2017 -0500

    inspector_manager: dflt only

src/file_api/file_config.cc
src/file_api/file_flows.cc
src/file_api/file_lib.cc
src/managers/inspector_manager.cc
src/managers/inspector_manager.h

index 4e82293a0ef9fec3b7e260e600ee89424ea2a3b4..4f0cd201d82f3acb1dde4730e1274af5cc788e19 100644 (file)
@@ -98,7 +98,7 @@ std::string file_type_name(uint32_t id)
 
 FileConfig* get_file_config ()
 {
-    FileInspect* fi = (FileInspect*)InspectorManager::get_inspector(FILE_ID_NAME);
+    FileInspect* fi = (FileInspect*)InspectorManager::get_inspector(FILE_ID_NAME, true);
 
     if (fi)
         return (fi->config);
index 8bb97daa0fc398887a81c5e07cb34e85710ee36f..2def67174d7caba2589f5463cb9857ef39d08f67 100644 (file)
@@ -65,7 +65,7 @@ FileFlows* FileFlows::get_file_flows(Flow* flow)
     if (fd)
         return fd;
 
-    FileInspect* fi = (FileInspect*)InspectorManager::get_inspector(FILE_ID_NAME);
+    FileInspect* fi = (FileInspect*)InspectorManager::get_inspector(FILE_ID_NAME, true);
 
     if (FileService::is_file_service_enabled() and fi)
     {
index 6a5a069c91d1e660b06875a438c23880d569d09b..ca1e463f990e2747ade169cb1a8e1f362a05a6e9 100644 (file)
@@ -253,7 +253,7 @@ FileContext::FileContext ()
     file_signature_context = nullptr;
     file_capture = nullptr;
     file_segments = nullptr;
-    inspector = (FileInspect*)InspectorManager::acquire(FILE_ID_NAME, SnortConfig::get_conf());
+    inspector = (FileInspect*)InspectorManager::acquire(FILE_ID_NAME, true);
     config = inspector->config;
 }
 
index 95fb6d987005ff37eb2196a689fda991c33ec2a8..0d706c4a26aa09889951e40154865298c3422791 100644 (file)
@@ -512,7 +512,12 @@ Inspector* InspectorManager::get_binder()
 // FIXIT-P cache get_inspector() returns or provide indexed lookup
 Inspector* InspectorManager::get_inspector(const char* key, bool dflt_only)
 {
-    InspectionPolicy* pi = get_inspection_policy();
+    InspectionPolicy* pi;
+    
+    if (dflt_only)
+        pi = get_default_inspection_policy(SnortConfig::get_conf());
+    else
+        pi = get_inspection_policy();
 
     if ( !pi || !pi->framework_policy )
         return nullptr;
@@ -823,9 +828,9 @@ static bool configure(SnortConfig* sc, FrameworkPolicy* fp, bool cloned)
     return ok;
 }
 
-Inspector* InspectorManager::acquire(const char* key, SnortConfig* sc)
+Inspector* InspectorManager::acquire(const char* key, bool dflt_only)
 {
-    Inspector* pi = get_inspector(key, sc);
+    Inspector* pi = get_inspector(key, dflt_only);
 
     if ( !pi )
         FatalError("unconfigured inspector: '%s'.\n", key);
index 782856bf2163066fd947134ed9dac4caf7f86f67..374fd16f1e88a0faab0c94171117fcd6d6d61aa2 100644 (file)
@@ -63,7 +63,7 @@ public:
 
     SO_PUBLIC static Inspector* get_binder();
 
-    SO_PUBLIC static Inspector* acquire(const char* key, SnortConfig*);
+    SO_PUBLIC static Inspector* acquire(const char* key, bool dflt_only = false);
     SO_PUBLIC static void release(Inspector*);
 
     static bool configure(SnortConfig*, bool cloned = false);