|
|
|
@ -168,7 +168,24 @@ static void LogFilestoreMetaGetSmtp(FILE *fp, const Packet *p, const File *ff)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** \brief switch to write meta file
|
|
|
|
|
*/
|
|
|
|
|
static int g_file_write_meta = 1;
|
|
|
|
|
|
|
|
|
|
static void FileWriteMetaDisable(void)
|
|
|
|
|
{
|
|
|
|
|
g_file_write_meta = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static int FileWriteMeta(void)
|
|
|
|
|
{
|
|
|
|
|
return g_file_write_meta;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void LogFilestoreLogCreateMetaFile(const Packet *p, const File *ff, char *filename, int ipver) {
|
|
|
|
|
if (!FileWriteMeta())
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
char metafilename[PATH_MAX] = "";
|
|
|
|
|
snprintf(metafilename, sizeof(metafilename), "%s.meta", filename);
|
|
|
|
|
FILE *fp = fopen(metafilename, "w+");
|
|
|
|
@ -241,6 +258,9 @@ static void LogFilestoreLogCreateMetaFile(const Packet *p, const File *ff, char
|
|
|
|
|
|
|
|
|
|
static void LogFilestoreLogCloseMetaFile(const File *ff)
|
|
|
|
|
{
|
|
|
|
|
if (!FileWriteMeta())
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
char filename[PATH_MAX] = "";
|
|
|
|
|
snprintf(filename, sizeof(filename), "%s/file.%u",
|
|
|
|
|
g_logfile_base_dir, ff->file_store_id);
|
|
|
|
@ -484,6 +504,12 @@ static OutputCtx *LogFilestoreLogInitCtx(ConfNode *conf)
|
|
|
|
|
SCLogInfo("forcing magic lookup for stored files");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const char *write_meta = ConfNodeLookupChildValue(conf, "write-meta");
|
|
|
|
|
if (write_meta != NULL && !ConfValIsTrue(write_meta)) {
|
|
|
|
|
FileWriteMetaDisable();
|
|
|
|
|
SCLogInfo("File-store output will not write meta files");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FileForceHashParseCfg(conf);
|
|
|
|
|
SCLogInfo("storing files in %s", g_logfile_base_dir);
|
|
|
|
|
|
|
|
|
|