output/flush: Remove flush functions/registration

Remove log flush functions and update registration logic as
context-based flushing doesn't require it.

Issue: 8286
pull/15091/head
Jeff Lucovsky 8 months ago committed by Victor Julien
parent d0ba1c4c5e
commit 1923ca1aa0

@ -486,7 +486,6 @@ void AlertDebugLogRegister(void)
{ {
OutputPacketLoggerFunctions output_logger_functions = { OutputPacketLoggerFunctions output_logger_functions = {
.LogFunc = AlertDebugLogLogger, .LogFunc = AlertDebugLogLogger,
.FlushFunc = NULL,
.ConditionFunc = AlertDebugLogCondition, .ConditionFunc = AlertDebugLogCondition,
.ThreadInitFunc = AlertDebugLogThreadInit, .ThreadInitFunc = AlertDebugLogThreadInit,
.ThreadDeinitFunc = AlertDebugLogThreadDeinit, .ThreadDeinitFunc = AlertDebugLogThreadDeinit,

@ -78,7 +78,6 @@ void AlertFastLogRegister(void)
{ {
OutputPacketLoggerFunctions output_logger_functions = { OutputPacketLoggerFunctions output_logger_functions = {
.LogFunc = AlertFastLogger, .LogFunc = AlertFastLogger,
.FlushFunc = NULL,
.ConditionFunc = AlertFastLogCondition, .ConditionFunc = AlertFastLogCondition,
.ThreadInitFunc = AlertFastLogThreadInit, .ThreadInitFunc = AlertFastLogThreadInit,
.ThreadDeinitFunc = AlertFastLogThreadDeinit, .ThreadDeinitFunc = AlertFastLogThreadDeinit,

@ -389,7 +389,6 @@ void AlertSyslogRegister (void)
#ifndef OS_WIN32 #ifndef OS_WIN32
OutputPacketLoggerFunctions output_logger_functions = { OutputPacketLoggerFunctions output_logger_functions = {
.LogFunc = AlertSyslogLogger, .LogFunc = AlertSyslogLogger,
.FlushFunc = NULL,
.ConditionFunc = AlertSyslogCondition, .ConditionFunc = AlertSyslogCondition,
.ThreadInitFunc = AlertSyslogThreadInit, .ThreadInitFunc = AlertSyslogThreadInit,
.ThreadDeinitFunc = AlertSyslogThreadDeinit, .ThreadDeinitFunc = AlertSyslogThreadDeinit,

@ -31,18 +31,6 @@
#include "util-privs.h" #include "util-privs.h"
#include "util-logopenfile.h" #include "util-logopenfile.h"
/**
* \brief Trigger flush of all registered log files
*
* This function is intended to be called at regular intervals to force
* buffered log data to be persisted. With the new design, this simply calls
* LogFileFlushAll() which directly flushes all registered file contexts.
*/
static void WorkerFlushLogs(void)
{
LogFileFlushAll();
}
int OutputFlushInterval(void) int OutputFlushInterval(void)
{ {
intmax_t output_flush_interval = 0; intmax_t output_flush_interval = 0;

@ -221,7 +221,6 @@ void PcapLogRegister(void)
{ {
OutputPacketLoggerFunctions output_logger_functions = { OutputPacketLoggerFunctions output_logger_functions = {
.LogFunc = PcapLog, .LogFunc = PcapLog,
.FlushFunc = NULL,
.ConditionFunc = PcapLogCondition, .ConditionFunc = PcapLogCondition,
.ThreadInitFunc = PcapLogDataInit, .ThreadInitFunc = PcapLogDataInit,
.ThreadDeinitFunc = PcapLogDataDeinit, .ThreadDeinitFunc = PcapLogDataDeinit,

@ -454,7 +454,6 @@ void EveStreamLogRegister(void)
{ {
OutputPacketLoggerFunctions output_logger_functions = { OutputPacketLoggerFunctions output_logger_functions = {
.LogFunc = EveStreamLogger, .LogFunc = EveStreamLogger,
.FlushFunc = OutputJsonLogFlush,
.ConditionFunc = EveStreamLogCondition, .ConditionFunc = EveStreamLogCondition,
.ThreadInitFunc = EveStreamLogThreadInit, .ThreadInitFunc = EveStreamLogThreadInit,
.ThreadDeinitFunc = EveStreamLogThreadDeinit, .ThreadDeinitFunc = EveStreamLogThreadDeinit,

@ -855,14 +855,6 @@ static int AlertJsonDecoderEvent(ThreadVars *tv, JsonAlertLogThread *aft, const
return TM_ECODE_OK; return TM_ECODE_OK;
} }
static int JsonAlertFlush(ThreadVars *tv, void *thread_data, const Packet *p)
{
JsonAlertLogThread *aft = thread_data;
SCLogDebug("%s flushing %s", tv->name, ((LogFileCtx *)(aft->ctx->file_ctx))->filename);
OutputJsonFlush(aft->ctx);
return 0;
}
static int JsonAlertLogger(ThreadVars *tv, void *thread_data, const Packet *p) static int JsonAlertLogger(ThreadVars *tv, void *thread_data, const Packet *p)
{ {
JsonAlertLogThread *aft = thread_data; JsonAlertLogThread *aft = thread_data;
@ -1110,7 +1102,6 @@ void JsonAlertLogRegister (void)
{ {
OutputPacketLoggerFunctions output_logger_functions = { OutputPacketLoggerFunctions output_logger_functions = {
.LogFunc = JsonAlertLogger, .LogFunc = JsonAlertLogger,
.FlushFunc = JsonAlertFlush,
.ConditionFunc = JsonAlertLogCondition, .ConditionFunc = JsonAlertLogCondition,
.ThreadInitFunc = JsonAlertLogThreadInit, .ThreadInitFunc = JsonAlertLogThreadInit,
.ThreadDeinitFunc = JsonAlertLogThreadDeinit, .ThreadDeinitFunc = JsonAlertLogThreadDeinit,

@ -271,14 +271,6 @@ static int AnomalyJson(ThreadVars *tv, JsonAnomalyLogThread *aft, const Packet *
return rc; return rc;
} }
static int JsonAnomalyFlush(ThreadVars *tv, void *thread_data, const Packet *p)
{
JsonAnomalyLogThread *aft = thread_data;
SCLogDebug("%s flushing %s", tv->name, ((LogFileCtx *)(aft->ctx->file_ctx))->filename);
OutputJsonFlush(aft->ctx);
return 0;
}
static int JsonAnomalyLogger(ThreadVars *tv, void *thread_data, const Packet *p) static int JsonAnomalyLogger(ThreadVars *tv, void *thread_data, const Packet *p)
{ {
JsonAnomalyLogThread *aft = thread_data; JsonAnomalyLogThread *aft = thread_data;
@ -457,7 +449,6 @@ void JsonAnomalyLogRegister (void)
{ {
OutputPacketLoggerFunctions output_logger_functions = { OutputPacketLoggerFunctions output_logger_functions = {
.LogFunc = JsonAnomalyLogger, .LogFunc = JsonAnomalyLogger,
.FlushFunc = JsonAnomalyFlush,
.ConditionFunc = JsonAnomalyLogCondition, .ConditionFunc = JsonAnomalyLogCondition,
.ThreadInitFunc = JsonAnomalyLogThreadInit, .ThreadInitFunc = JsonAnomalyLogThreadInit,
.ThreadDeinitFunc = JsonAnomalyLogThreadDeinit, .ThreadDeinitFunc = JsonAnomalyLogThreadDeinit,

@ -105,7 +105,6 @@ void JsonArpLogRegister(void)
{ {
OutputPacketLoggerFunctions output_logger_functions = { OutputPacketLoggerFunctions output_logger_functions = {
.LogFunc = JsonArpLogger, .LogFunc = JsonArpLogger,
.FlushFunc = NULL,
.ConditionFunc = JsonArpLogCondition, .ConditionFunc = JsonArpLogCondition,
.ThreadInitFunc = JsonLogThreadInit, .ThreadInitFunc = JsonLogThreadInit,
.ThreadDeinitFunc = JsonLogThreadDeinit, .ThreadDeinitFunc = JsonLogThreadDeinit,

@ -70,15 +70,6 @@ static void OutputJsonLogDeInitCtxSub(OutputCtx *output_ctx)
SCFree(output_ctx); SCFree(output_ctx);
} }
int OutputJsonLogFlush(ThreadVars *tv, void *thread_data, const Packet *p)
{
OutputJsonThreadCtx *aft = thread_data;
LogFileCtx *file_ctx = aft->ctx->file_ctx;
SCLogDebug("%s flushing %s", tv->name, file_ctx->filename);
LogFileFlush(file_ctx);
return 0;
}
OutputInitResult OutputJsonLogInitSub(SCConfNode *conf, OutputCtx *parent_ctx) OutputInitResult OutputJsonLogInitSub(SCConfNode *conf, OutputCtx *parent_ctx)
{ {
OutputInitResult result = { NULL, false }; OutputInitResult result = { NULL, false };

@ -392,7 +392,6 @@ void JsonDropLogRegister (void)
{ {
OutputPacketLoggerFunctions output_logger_functions = { OutputPacketLoggerFunctions output_logger_functions = {
.LogFunc = JsonDropLogger, .LogFunc = JsonDropLogger,
.FlushFunc = OutputJsonLogFlush,
.ConditionFunc = JsonDropLogCondition, .ConditionFunc = JsonDropLogCondition,
.ThreadInitFunc = JsonDropLogThreadInit, .ThreadInitFunc = JsonDropLogThreadInit,
.ThreadDeinitFunc = JsonDropLogThreadDeinit, .ThreadDeinitFunc = JsonDropLogThreadDeinit,

@ -552,7 +552,6 @@ void JsonFrameLogRegister(void)
{ {
OutputPacketLoggerFunctions output_logger_functions = { OutputPacketLoggerFunctions output_logger_functions = {
.LogFunc = JsonFrameLogger, .LogFunc = JsonFrameLogger,
.FlushFunc = OutputJsonLogFlush,
.ConditionFunc = JsonFrameLogCondition, .ConditionFunc = JsonFrameLogCondition,
.ThreadInitFunc = JsonFrameLogThreadInit, .ThreadInitFunc = JsonFrameLogThreadInit,
.ThreadDeinitFunc = JsonFrameLogThreadDeinit, .ThreadDeinitFunc = JsonFrameLogThreadDeinit,

@ -96,7 +96,6 @@ void JsonMetadataLogRegister (void)
{ {
OutputPacketLoggerFunctions output_logger_functions = { OutputPacketLoggerFunctions output_logger_functions = {
.LogFunc = JsonMetadataLogger, .LogFunc = JsonMetadataLogger,
.FlushFunc = OutputJsonLogFlush,
.ConditionFunc = JsonMetadataLogCondition, .ConditionFunc = JsonMetadataLogCondition,
.ThreadInitFunc = JsonLogThreadInit, .ThreadInitFunc = JsonLogThreadInit,
.ThreadDeinitFunc = JsonLogThreadDeinit, .ThreadDeinitFunc = JsonLogThreadDeinit,

@ -991,12 +991,6 @@ int OutputJSONBuffer(json_t *js, LogFileCtx *file_ctx, MemBuffer **buffer)
return 0; return 0;
} }
void OutputJsonFlush(OutputJsonThreadCtx *ctx)
{
LogFileCtx *file_ctx = ctx->file_ctx;
LogFileFlush(file_ctx);
}
void OutputJsonBuilderBuffer( void OutputJsonBuilderBuffer(
ThreadVars *tv, const Packet *p, Flow *f, SCJsonBuilder *js, OutputJsonThreadCtx *ctx) ThreadVars *tv, const Packet *p, Flow *f, SCJsonBuilder *js, OutputJsonThreadCtx *ctx)
{ {

@ -110,7 +110,6 @@ TmEcode JsonLogThreadDeinit(ThreadVars *t, void *data);
void EveAddCommonOptions(const OutputJsonCommonSettings *cfg, const Packet *p, const Flow *f, void EveAddCommonOptions(const OutputJsonCommonSettings *cfg, const Packet *p, const Flow *f,
SCJsonBuilder *js, enum SCOutputJsonLogDirection dir); SCJsonBuilder *js, enum SCOutputJsonLogDirection dir);
int OutputJsonLogFlush(ThreadVars *tv, void *thread_data, const Packet *p);
void EveAddMetadata(const Packet *p, const Flow *f, SCJsonBuilder *js); void EveAddMetadata(const Packet *p, const Flow *f, SCJsonBuilder *js);
int OutputJSONMemBufferCallback(const char *str, size_t size, void *data); int OutputJSONMemBufferCallback(const char *str, size_t size, void *data);
@ -118,6 +117,5 @@ int OutputJSONMemBufferCallback(const char *str, size_t size, void *data);
OutputJsonThreadCtx *CreateEveThreadCtx(ThreadVars *t, OutputJsonCtx *ctx); OutputJsonThreadCtx *CreateEveThreadCtx(ThreadVars *t, OutputJsonCtx *ctx);
void FreeEveThreadCtx(OutputJsonThreadCtx *ctx); void FreeEveThreadCtx(OutputJsonThreadCtx *ctx);
void JSONFormatAndAddMACAddr(SCJsonBuilder *js, const char *key, const uint8_t *val, bool is_array); void JSONFormatAndAddMACAddr(SCJsonBuilder *js, const char *key, const uint8_t *val, bool is_array);
void OutputJsonFlush(OutputJsonThreadCtx *ctx);
#endif /* SURICATA_OUTPUT_JSON_H */ #endif /* SURICATA_OUTPUT_JSON_H */

@ -86,7 +86,6 @@
typedef struct RootLogger_ { typedef struct RootLogger_ {
OutputLogFunc LogFunc; OutputLogFunc LogFunc;
OutputFlushFunc FlushFunc;
ThreadInitFunc ThreadInit; ThreadInitFunc ThreadInit;
ThreadDeinitFunc ThreadDeinit; ThreadDeinitFunc ThreadDeinit;
OutputGetActiveCountFunc ActiveCntFunc; OutputGetActiveCountFunc ActiveCntFunc;
@ -210,7 +209,6 @@ void OutputRegisterPacketModule(LoggerId id, const char *name, const char *conf_
module->conf_name = conf_name; module->conf_name = conf_name;
module->InitFunc = InitFunc; module->InitFunc = InitFunc;
module->PacketLogFunc = output_module_functions->LogFunc; module->PacketLogFunc = output_module_functions->LogFunc;
module->PacketFlushFunc = output_module_functions->FlushFunc;
module->PacketConditionFunc = output_module_functions->ConditionFunc; module->PacketConditionFunc = output_module_functions->ConditionFunc;
module->ThreadInit = output_module_functions->ThreadInitFunc; module->ThreadInit = output_module_functions->ThreadInitFunc;
module->ThreadDeinit = output_module_functions->ThreadDeinitFunc; module->ThreadDeinit = output_module_functions->ThreadDeinitFunc;
@ -250,7 +248,6 @@ void OutputRegisterPacketSubModule(LoggerId id, const char *parent_name, const c
module->parent_name = parent_name; module->parent_name = parent_name;
module->InitSubFunc = InitFunc; module->InitSubFunc = InitFunc;
module->PacketLogFunc = output_logger_functions->LogFunc; module->PacketLogFunc = output_logger_functions->LogFunc;
module->PacketFlushFunc = output_logger_functions->FlushFunc;
module->PacketConditionFunc = output_logger_functions->ConditionFunc; module->PacketConditionFunc = output_logger_functions->ConditionFunc;
module->ThreadInit = output_logger_functions->ThreadInitFunc; module->ThreadInit = output_logger_functions->ThreadInitFunc;
module->ThreadDeinit = output_logger_functions->ThreadDeinitFunc; module->ThreadDeinit = output_logger_functions->ThreadDeinitFunc;
@ -784,21 +781,6 @@ void SCOnLoggingReady(void)
} }
} }
TmEcode OutputLoggerFlush(ThreadVars *tv, Packet *p, void *thread_data)
{
LoggerThreadStore *thread_store = (LoggerThreadStore *)thread_data;
RootLogger *logger = TAILQ_FIRST(&active_loggers);
LoggerThreadStoreNode *thread_store_node = TAILQ_FIRST(thread_store);
while (logger && thread_store_node) {
if (logger->FlushFunc)
logger->FlushFunc(tv, p, thread_store_node->thread_data);
logger = TAILQ_NEXT(logger, entries);
thread_store_node = TAILQ_NEXT(thread_store_node, entries);
}
return TM_ECODE_OK;
}
TmEcode OutputLoggerLog(ThreadVars *tv, Packet *p, void *thread_data) TmEcode OutputLoggerLog(ThreadVars *tv, Packet *p, void *thread_data)
{ {
LoggerThreadStore *thread_store = (LoggerThreadStore *)thread_data; LoggerThreadStore *thread_store = (LoggerThreadStore *)thread_data;

@ -51,7 +51,6 @@ typedef struct OutputInitResult_ {
typedef OutputInitResult (*OutputInitFunc)(SCConfNode *); typedef OutputInitResult (*OutputInitFunc)(SCConfNode *);
typedef OutputInitResult (*OutputInitSubFunc)(SCConfNode *, OutputCtx *); typedef OutputInitResult (*OutputInitSubFunc)(SCConfNode *, OutputCtx *);
typedef TmEcode (*OutputLogFunc)(ThreadVars *, Packet *, void *); typedef TmEcode (*OutputLogFunc)(ThreadVars *, Packet *, void *);
typedef TmEcode (*OutputFlushFunc)(ThreadVars *, Packet *, void *);
typedef uint32_t (*OutputGetActiveCountFunc)(void); typedef uint32_t (*OutputGetActiveCountFunc)(void);
typedef struct OutputModule_ { typedef struct OutputModule_ {
@ -66,7 +65,6 @@ typedef struct OutputModule_ {
ThreadDeinitFunc ThreadDeinit; ThreadDeinitFunc ThreadDeinit;
PacketLogger PacketLogFunc; PacketLogger PacketLogFunc;
PacketLogger PacketFlushFunc;
PacketLogCondition PacketConditionFunc; PacketLogCondition PacketConditionFunc;
TxLogger TxLogFunc; TxLogger TxLogFunc;
TxLoggerCondition TxLogCondition; TxLoggerCondition TxLogCondition;
@ -86,7 +84,6 @@ typedef struct OutputModule_ {
/* struct for packet module and packet sub-module registration */ /* struct for packet module and packet sub-module registration */
typedef struct OutputPacketLoggerFunctions_ { typedef struct OutputPacketLoggerFunctions_ {
PacketLogger LogFunc; PacketLogger LogFunc;
PacketLogger FlushFunc;
PacketLogCondition ConditionFunc; PacketLogCondition ConditionFunc;
ThreadInitFunc ThreadInitFunc; ThreadInitFunc ThreadInitFunc;
ThreadDeinitFunc ThreadDeinitFunc; ThreadDeinitFunc ThreadDeinitFunc;
@ -168,7 +165,6 @@ void OutputRegisterRootLogger(ThreadInitFunc ThreadInit, ThreadDeinitFunc Thread
void TmModuleLoggerRegister(void); void TmModuleLoggerRegister(void);
TmEcode OutputLoggerLog(ThreadVars *, Packet *, void *); TmEcode OutputLoggerLog(ThreadVars *, Packet *, void *);
TmEcode OutputLoggerFlush(ThreadVars *, Packet *, void *);
TmEcode OutputLoggerThreadInit(ThreadVars *, const void *, void **); TmEcode OutputLoggerThreadInit(ThreadVars *, const void *, void **);
TmEcode OutputLoggerThreadDeinit(ThreadVars *, void *); TmEcode OutputLoggerThreadDeinit(ThreadVars *, void *);
void OutputLoggerExitPrintStats(ThreadVars *, void *); void OutputLoggerExitPrintStats(ThreadVars *, void *);

Loading…
Cancel
Save