diff --git a/src/output-json-netflow.c b/src/output-json-netflow.c index 7a912dbafa..0b9b200964 100644 --- a/src/output-json-netflow.c +++ b/src/output-json-netflow.c @@ -53,6 +53,7 @@ typedef struct LogJsonFileCtx_ { LogFileCtx *file_ctx; + bool include_metadata; } LogJsonFileCtx; typedef struct JsonNetFlowLogThread_ { @@ -298,6 +299,7 @@ static int JsonNetFlowLogger(ThreadVars *tv, void *thread_data, Flow *f) { SCEnter(); JsonNetFlowLogThread *jhl = (JsonNetFlowLogThread *)thread_data; + LogJsonFileCtx *netflow_ctx = jhl->flowlog_ctx; /* reset */ MemBufferReset(jhl->buffer); @@ -305,6 +307,9 @@ static int JsonNetFlowLogger(ThreadVars *tv, void *thread_data, Flow *f) if (unlikely(js == NULL)) return TM_ECODE_OK; JsonNetFlowLogJSONToServer(jhl, js, f); + if (netflow_ctx->include_metadata) { + JsonAddMetadata(NULL, f, js); + } OutputJSONBuffer(js, jhl->flowlog_ctx->file_ctx, &jhl->buffer); json_object_del(js, "netflow"); json_object_clear(js); @@ -316,6 +321,9 @@ static int JsonNetFlowLogger(ThreadVars *tv, void *thread_data, Flow *f) if (unlikely(js == NULL)) return TM_ECODE_OK; JsonNetFlowLogJSONToClient(jhl, js, f); + if (netflow_ctx->include_metadata) { + JsonAddMetadata(NULL, f, js); + } OutputJSONBuffer(js, jhl->flowlog_ctx->file_ctx, &jhl->buffer); json_object_del(js, "netflow"); json_object_clear(js); @@ -393,6 +401,7 @@ static OutputInitResult OutputNetFlowLogInitSub(ConfNode *conf, OutputCtx *paren } flow_ctx->file_ctx = ojc->file_ctx; + flow_ctx->include_metadata = ojc->include_metadata; output_ctx->data = flow_ctx; output_ctx->DeInit = OutputNetFlowLogDeinitSub;