]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
filestore: fix global counter init in unix socket mode
authorJason Ish <jason.ish@oisf.net>
Fri, 18 Dec 2020 17:34:30 +0000 (11:34 -0600)
committerVictor Julien <victor@inliniac.net>
Mon, 15 Feb 2021 09:57:36 +0000 (10:57 +0100)
Move initialization of filestore global counter to PreRunInit,
so they get registered during program initialization, or as
required in unix-socket mode, initialized for each file run.

Fixes Redmine issue:
https://redmine.openinfosecfoundation.org/issues/4216

src/output-filestore.c
src/output-filestore.h
src/suricata.c

index a3f95c23620c084631d5e164d8ddd244713e6f6f..cfb06cbad20323a801d5746a430f98d5416bea14 100644 (file)
@@ -527,9 +527,6 @@ static OutputInitResult OutputFilestoreLogInitCtx(ConfNode *conf)
         }
     }
 
-    StatsRegisterGlobalCounter("file_store.open_files",
-            OutputFilestoreOpenFilesCounter);
-
     result.ctx = output_ctx;
     result.ok = true;
     SCReturnCT(result, "OutputInitResult");
@@ -549,3 +546,10 @@ void OutputFilestoreRegister(void)
     SC_ATOMIC_SET(filestore_open_file_cnt, 0);
 #endif
 }
+
+void OutputFilestoreRegisterGlobalCounters(void)
+{
+#ifdef HAVE_NSS
+    StatsRegisterGlobalCounter("file_store.open_files", OutputFilestoreOpenFilesCounter);
+#endif
+}
index 645e1bfc1169716af1f4705fda657ad12d627367..33cd9713186bd70ecae9df4bb69302cb1b819fba 100644 (file)
@@ -20,5 +20,6 @@
 
 void OutputFilestoreRegister(void);
 void OutputFilestoreInitConfig(void);
+void OutputFilestoreRegisterGlobalCounters(void);
 
 #endif /* __OUTPUT_FILESTORE_H__ */
index 3d6faf15c8b660c9c6d3dfbf9736b65d6e8aa901..07b8023461ab0d596fd9c9eeee7c67dcce05e57e 100644 (file)
 #include "app-layer-smb.h"
 #include "app-layer-dcerpc.h"
 
+#include "output-filestore.h"
+
 #include "util-ebpf.h"
 #include "util-radix-tree.h"
 #include "util-host-os-info.h"
@@ -2026,6 +2028,7 @@ void PreRunInit(const int runmode)
     StreamTcpInitConfig(STREAM_VERBOSE);
     AppLayerParserPostStreamSetup();
     AppLayerRegisterGlobalCounters();
+    OutputFilestoreRegisterGlobalCounters();
 }
 
 /* tasks we need to run before packets start flowing,