Go to the documentation of this file.
   25 #ifndef SURICATA_UTIL_FILE_H 
   26 #define SURICATA_UTIL_FILE_H 
   56 #ifndef SURICATA_BINDGEN_H 
   65 #define SC_SHA256_LEN 32 
   68 #define SC_SHA1_LEN 20 
   73 #define FILE_TRUNCATED  BIT_U16(0) 
   74 #define FILE_NOMAGIC    BIT_U16(1) 
   75 #define FILE_NOMD5      BIT_U16(2) 
   76 #define FILE_MD5        BIT_U16(3) 
   77 #define FILE_NOSHA1     BIT_U16(4) 
   78 #define FILE_SHA1       BIT_U16(5) 
   79 #define FILE_NOSHA256   BIT_U16(6) 
   80 #define FILE_SHA256     BIT_U16(7) 
   81 #define FILE_LOGGED     BIT_U16(8) 
   82 #define FILE_NOSTORE    BIT_U16(9) 
   83 #define FILE_STORE      BIT_U16(10) 
   84 #define FILE_STORED     BIT_U16(11) 
   85 #define FILE_NOTRACK    BIT_U16(12)  
   86 #define FILE_USE_DETECT BIT_U16(13)  
   87 #define FILE_HAS_GAPS   BIT_U16(15) 
   90 #define SC_FILENAME_MAX 4096 
   92 #define FILEDATA_CONTENT_LIMIT            100000 
   93 #define FILEDATA_CONTENT_INSPECT_MIN_SIZE 32768 
   94 #define FILEDATA_CONTENT_INSPECT_WINDOW   4096 
  169         uint32_t track_id, 
const uint8_t *
name, uint16_t 
name_len,
 
  170         const uint8_t *data, uint32_t data_len, uint16_t 
flags);
 
  184         uint32_t data_len, uint16_t 
flags);
 
  186         const uint8_t *data, uint32_t data_len, uint16_t 
flags);
 
  188         uint32_t data_len, uint16_t 
flags);
 
  191         const uint8_t *data, uint32_t data_len);
 
  193         const uint8_t *data, uint32_t data_len);
 
  259 #define FilePrintFlags(file) 
  264 #endif // SURICATA_BINDGEN_H 
  
 
uint16_t FileFlowToFlags(const Flow *flow, uint8_t direction)
 
void FileContainerRecycle(FileContainer *, const StreamingBufferConfig *cfg)
Recycle a FileContainer.
 
void FileForceMagicEnable(void)
 
int FileCloseFile(FileContainer *, const StreamingBufferConfig *sbcfg, const uint8_t *data, uint32_t data_len, uint16_t flags)
Close a File.
 
uint32_t FileReassemblyDepth(void)
 
uint32_t inspect_min_size
 
uint16_t SCFileFlowFlagsToFlags(const uint16_t flow_file_flags, uint8_t direction)
 
int FileOpenFileWithId(FileContainer *, const StreamingBufferConfig *, uint32_t track_id, const uint8_t *name, uint16_t name_len, const uint8_t *data, uint32_t data_len, uint16_t flags)
Open a new File.
 
int FileStore(File *)
Tag a file for storing.
 
void FileForceSha1Enable(void)
 
void FileReassemblyDepthEnable(uint32_t size)
 
struct FileContainer_ FileContainer
 
uint8_t sha1[SC_SHA1_LEN]
 
int FileCloseFileById(FileContainer *, const StreamingBufferConfig *sbcfg, uint32_t track_id, const uint8_t *data, uint32_t data_len, uint16_t flags)
 
void FileForceTrackingEnable(void)
 
void FileForceHashParseCfg(SCConfNode *)
Function to parse forced file hashing configuration.
 
uint64_t FileTrackedSize(const File *file)
get the size of the file
 
void FileForceMd5Enable(void)
 
int FileForceFilestore(void)
 
int FileSetRange(FileContainer *, uint64_t start, uint64_t end)
Sets the offset range for a file.
 
int FileAppendGAPById(FileContainer *ffc, const StreamingBufferConfig *sbcfg, uint32_t track_id, const uint8_t *data, uint32_t data_len)
Store/handle a chunk of file data in the File structure The file with 'track_id' in the FileContainer...
 
void FileSetInspectSizes(File *file, const uint32_t win, const uint32_t min)
 
int FileAppendData(FileContainer *, const StreamingBufferConfig *sbcfg, const uint8_t *data, uint32_t data_len)
Store a chunk of file data in the flow. The open "flowfile" will be used.
 
void FileForceFilestoreEnable(void)
 
uint64_t content_inspected
 
void FileContainerFree(FileContainer *, const StreamingBufferConfig *cfg)
Free a FileContainer.
 
void FileContainerAdd(FileContainer *, File *)
 
uint8_t sha256[SC_SHA256_LEN]
 
#define FilePrintFlags(file)
 
uint64_t FileDataSize(const File *file)
get the size of the file data
 
void FilesPrune(FileContainer *fc, const StreamingBufferConfig *sbcfg, const bool trunc)
 
void FileForceSha256Enable(void)
 
void FileDisableStoringForTransaction(Flow *f, const uint8_t direction, void *tx, uint64_t tx_id)
disable file storing for a transaction
 
int FileCloseFilePtr(File *ff, const StreamingBufferConfig *sbcfg, const uint8_t *data, uint32_t data_len, uint16_t flags)
 
int FileForceSha256(void)
 
FileContainer * FileContainerAlloc(void)
allocate a FileContainer
 
enum FileState_ FileState
 
int FileAppendDataById(FileContainer *, const StreamingBufferConfig *sbcfg, uint32_t track_id, const uint8_t *data, uint32_t data_len)
Store/handle a chunk of file data in the File structure The file with 'track_id' in the FileContainer...
 
void FileStoreFileById(FileContainer *fc, uint32_t)
flag a file with id "file_id" to be stored.
 
void FileUpdateFlowFileFlags(Flow *f, uint16_t set_file_flags, uint8_t direction)
set a flow's file flags