]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
eve: netflow: global metadata config
authorJason Ish <ish@unx.ca>
Mon, 11 Dec 2017 21:50:54 +0000 (15:50 -0600)
committerVictor Julien <victor@inliniac.net>
Tue, 30 Jan 2018 13:43:52 +0000 (14:43 +0100)
src/output-json-netflow.c

index 7a912dbafae5c479bcb7cd8e5405b17e509fd37b..0b9b2009641644dd7b0ebda25a4cc3ae8b3b762e 100644 (file)
@@ -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;