From: Jason Ish Date: Fri, 30 Aug 2024 14:56:39 +0000 (-0600) Subject: output-streaming: use void *initdata instead of OutputCtx X-Git-Tag: suricata-8.0.0-beta1~904 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c02e7099b740153e3af95a3476868d1a1c3d3031;p=thirdparty%2Fsuricata.git output-streaming: use void *initdata instead of OutputCtx Using OutputCtx leaks a higher level abstraction into the low level logger. Ticket: #7227 --- diff --git a/src/output-streaming.c b/src/output-streaming.c index 2c24a8c3d7..a2e3067b08 100644 --- a/src/output-streaming.c +++ b/src/output-streaming.c @@ -49,7 +49,7 @@ typedef struct OutputStreamingLoggerThreadData_ { * log module (e.g. http.log) with different output ctx'. */ typedef struct OutputStreamingLogger_ { StreamingLogger LogFunc; - OutputCtx *output_ctx; + void *initdata; struct OutputStreamingLogger_ *next; const char *name; LoggerId logger_id; @@ -61,7 +61,7 @@ typedef struct OutputStreamingLogger_ { static OutputStreamingLogger *list = NULL; int OutputRegisterStreamingLogger(LoggerId id, const char *name, StreamingLogger LogFunc, - OutputCtx *output_ctx, enum OutputStreamingType type, ThreadInitFunc ThreadInit, + void *initdata, enum OutputStreamingType type, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit) { OutputStreamingLogger *op = SCCalloc(1, sizeof(*op)); @@ -69,7 +69,7 @@ int OutputRegisterStreamingLogger(LoggerId id, const char *name, StreamingLogger return -1; op->LogFunc = LogFunc; - op->output_ctx = output_ctx; + op->initdata = initdata; op->name = name; op->logger_id = id; op->type = type; @@ -372,7 +372,7 @@ static TmEcode OutputStreamingLogThreadInit(ThreadVars *tv, const void *initdata while (logger) { if (logger->ThreadInit) { void *retptr = NULL; - if (logger->ThreadInit(tv, (void *)logger->output_ctx, &retptr) == TM_ECODE_OK) { + if (logger->ThreadInit(tv, logger->initdata, &retptr) == TM_ECODE_OK) { OutputLoggerThreadStore *ts = SCCalloc(1, sizeof(*ts)); /* todo */ BUG_ON(ts == NULL); diff --git a/src/output-streaming.h b/src/output-streaming.h index 40633e02b4..1af4058fe4 100644 --- a/src/output-streaming.h +++ b/src/output-streaming.h @@ -43,7 +43,7 @@ typedef int (*StreamingLogger)(ThreadVars *, void *thread_data, uint64_t tx_id, uint8_t flags); int OutputRegisterStreamingLogger(LoggerId id, const char *name, StreamingLogger LogFunc, - OutputCtx *, enum OutputStreamingType, ThreadInitFunc ThreadInit, + void *initdata, enum OutputStreamingType, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit); void OutputStreamingLoggerRegister (void);