From 0aed5e188b214d56107e66ea8e38dfb7d5a13758 Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Fri, 18 Dec 2020 11:34:30 -0600 Subject: [PATCH] filestore: fix global counter init in unix socket mode 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 | 8 +++++--- src/output-filestore.h | 1 + src/suricata.c | 3 +++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/output-filestore.c b/src/output-filestore.c index 00ae764a27..a1b5ece5dc 100644 --- a/src/output-filestore.c +++ b/src/output-filestore.c @@ -525,9 +525,6 @@ static OutputInitResult OutputFilestoreLogInitCtx(ConfNode *conf) } } - StatsRegisterGlobalCounter("file_store.open_files", - OutputFilestoreOpenFilesCounter); - result.ctx = output_ctx; result.ok = true; SCReturnCT(result, "OutputInitResult"); @@ -543,3 +540,8 @@ void OutputFilestoreRegister(void) SC_ATOMIC_INIT(filestore_open_file_cnt); SC_ATOMIC_SET(filestore_open_file_cnt, 0); } + +void OutputFilestoreRegisterGlobalCounters(void) +{ + StatsRegisterGlobalCounter("file_store.open_files", OutputFilestoreOpenFilesCounter); +} diff --git a/src/output-filestore.h b/src/output-filestore.h index 645e1bfc11..33cd971318 100644 --- a/src/output-filestore.h +++ b/src/output-filestore.h @@ -20,5 +20,6 @@ void OutputFilestoreRegister(void); void OutputFilestoreInitConfig(void); +void OutputFilestoreRegisterGlobalCounters(void); #endif /* __OUTPUT_FILESTORE_H__ */ diff --git a/src/suricata.c b/src/suricata.c index 7b3491fe2e..c2ba5e3cc0 100644 --- a/src/suricata.c +++ b/src/suricata.c @@ -125,6 +125,8 @@ #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" @@ -2015,6 +2017,7 @@ void PreRunInit(const int runmode) StreamTcpInitConfig(STREAM_VERBOSE); AppLayerParserPostStreamSetup(); AppLayerRegisterGlobalCounters(); + OutputFilestoreRegisterGlobalCounters(); } /* tasks we need to run before packets start flowing, -- 2.47.2