]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #641 in SNORT/snort3 from file_smb2 to master
authorHui Cao (huica) <huica@cisco.com>
Tue, 27 Sep 2016 20:45:56 +0000 (16:45 -0400)
committerHui Cao (huica) <huica@cisco.com>
Tue, 27 Sep 2016 20:45:56 +0000 (16:45 -0400)
Remove extra byte for file name
Avoiding checking policy for each packet.

Squashed commit of the following:

commit 791af2b871275d159f4421239628b45406a6e9e7
Author: huica <huica@cisco.com>
Date:   Tue Sep 27 15:21:10 2016 -0400

    correct file name size

src/file_api/file_flows.cc
src/service_inspectors/dce_rpc/dce_smb2.cc

index e58e109651d83dce98b07671a9a97649975b7c19..bef71b7172a45e2bfa2282da466e92136c486b07 100644 (file)
@@ -177,8 +177,11 @@ bool FileFlows::file_process(uint64_t file_id, const uint8_t* file_data,
     if (!context)
         return 0;
 
-    context->check_policy(flow, dir);
-    context->set_file_id(file_id);
+    if (!context->get_processed_bytes())
+    {
+        context->check_policy(flow, dir);
+        context->set_file_id(file_id);
+    }
 
     if (context->verdict != FILE_VERDICT_UNKNOWN)
     {
index 098f766128cd06c77fa0c61ce486b51d8c0cad5a..51e1a344ae66eb9bd146fbb21ba9ced8fc406f44 100644 (file)
@@ -357,7 +357,7 @@ static void DCE2_Smb2CreateRequest(DCE2_SmbSsnData* ssd, const Smb2Hdr*,
         }
         ssd->ftracker.file_name = DCE2_Smb2GetFileName(file_data, size, true, false);
         if (ssd->ftracker.file_name)
-            ssd->ftracker.file_name_size = strlen(ssd->ftracker.file_name) + 1;
+            ssd->ftracker.file_name_size = strlen(ssd->ftracker.file_name);
     }
 }