]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
update file id
authorhuica <huica@cisco.com>
Thu, 25 Jun 2015 21:32:59 +0000 (17:32 -0400)
committerhuica <huica@cisco.com>
Thu, 25 Jun 2015 21:32:59 +0000 (17:32 -0400)
src/file_api/file_service.cc
src/file_api/libs/file_identifier.cc
src/file_api/libs/file_lib.cc
src/file_api/libs/file_lib.h

index bdf30d1263d47ef9b6d1c174dfc6da7997db8a20..98bcd6ad5a9a6ee28e784e18d6cdff7f68f3d697 100644 (file)
@@ -189,8 +189,6 @@ void FileAPIPostInit(void)
     if ( file_capture_enabled)
         FileCapture::init_mempool(file_config->file_capture_memcap,
             file_config->file_capture_block_size);
-
-    //file_sevice_reconfig_set(false);
 }
 
 static void start_file_processing(void)
@@ -450,6 +448,8 @@ static bool process_file_context(FileContext* context, Packet* pkt, Flow* flow,
         return false;
     }
 
+    context->set_file_config(snort_conf->file_config);
+
     /*file type id*/
     if (context->is_file_type_enabled())
     {
@@ -557,10 +557,7 @@ static void enable_file_type(File_type_callback_func callback)
     if (!file_type_id_enabled)
     {
         file_type_id_enabled = true;
-        //  file_sevice_reconfig_set(true);
         start_file_processing();
-        // FIXIT-L snort++ does not yet output startup configuration
-        //LogMessage("File service: file type enabled.\n");
     }
 }
 
@@ -570,11 +567,7 @@ static void enable_file_signature(File_signature_callback_func callback)
     if (!file_signature_enabled)
     {
         file_signature_enabled = true;
-#ifdef SNORT_RELOAD
-        file_sevice_reconfig_set(true);
-#endif
         start_file_processing();
-        //LogMessage("File service: file signature enabled.\n");
     }
 }
 
@@ -584,11 +577,6 @@ static void enable_file_capture(File_signature_callback_func callback)
     if (!file_capture_enabled)
     {
         file_capture_enabled = true;
-#ifdef SNORT_RELOAD
-        file_sevice_reconfig_set(true);
-#endif
-        //LogMessage("File service: file capture enabled.\n");
-        /* Enable file signature*/
         enable_file_signature(callback);
     }
 }
index 4186bee0abca2e53b86aa8b59caf70eeea40f486..6fe7e567391a07c228578e089dc5d610ecb007d7 100644 (file)
@@ -339,7 +339,7 @@ uint32_t FileIdenfifier::find_file_type_id(const uint8_t* buf, int len, uint64_t
 {
     IdentifierNode* current;
     uint64_t end;
-    uint32_t file_type_id;
+    uint32_t file_type_id = SNORT_FILE_TYPE_CONTINUE;
 
     if ((!context)||(!buf)||(len <= 0))
         return 0;
@@ -347,7 +347,7 @@ uint32_t FileIdenfifier::find_file_type_id(const uint8_t* buf, int len, uint64_t
     if (!(*context))
         *context = (void*)(identifier_root);
 
-    current = (IdentifierNode*)context;
+    current = (IdentifierNode*)(*context);
 
     end = file_offset + len;
 
index fc1b3b6ef11b9a689a5fa78e236543f2acd29209..d21176fa183dbe3a4c295ce1aed0766a3b47c9df 100644 (file)
@@ -314,6 +314,17 @@ uint8_t* FileContext::get_file_sig_sha256()
     return (sha256);
 }
 
+void FileContext::set_file_config(FileConfig* config)
+{
+    file_config = config;
+}
+
+FileConfig*  FileContext::get_file_config()
+{
+    return file_config;
+}
+
+
 const char* file_type_name(void* conf, uint32_t id)
 {
     FileMagicRule* info = NULL;
index 8c791521fa7c48c1e4c2078c88fa729db00b1f98..5563ccc7b730a15739058e51805eefae0109adb9 100644 (file)
@@ -94,6 +94,8 @@ public:
     uint8_t* get_file_sig_sha256();
     void set_file_id(uint32_t size);
     uint32_t get_file_id();
+    void set_file_config(FileConfig* file_config);
+    FileConfig*  get_file_config();
 
     void print_file_sha256();
     void print();
@@ -121,7 +123,6 @@ private:
 
     inline int get_data_size_from_depth_limit(FileProcessType type, int data_size);
     inline void finalize_file_type ();
-
 };
 
 const char* file_type_name(void* conf, uint32_t id);