From: Jason Ish Date: Mon, 11 Dec 2017 21:49:45 +0000 (-0600) Subject: eve: dnp3: respect global metadata config X-Git-Tag: suricata-4.1.0-beta1~265 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f5439a3004da75179a3c02a68607753ffc0e0ec;p=thirdparty%2Fsuricata.git eve: dnp3: respect global metadata config --- diff --git a/src/output-json-dnp3.c b/src/output-json-dnp3.c index 91f7689042..1fe73d3495 100644 --- a/src/output-json-dnp3.c +++ b/src/output-json-dnp3.c @@ -50,6 +50,7 @@ typedef struct LogDNP3FileCtx_ { LogFileCtx *file_ctx; uint32_t flags; uint8_t include_object_data; + bool include_metadata; } LogDNP3FileCtx; typedef struct LogDNP3LogThread_ { @@ -315,6 +316,9 @@ static int JsonDNP3LoggerToServer(ThreadVars *tv, void *thread_data, if (unlikely(js == NULL)) { return TM_ECODE_OK; } + if (thread->dnp3log_ctx->include_metadata) { + JsonAddMetadata(p, f, js); + } json_t *dnp3js = JsonDNP3LogRequest(tx); if (dnp3js != NULL) { json_object_set_new(js, "dnp3", dnp3js); @@ -341,6 +345,9 @@ static int JsonDNP3LoggerToClient(ThreadVars *tv, void *thread_data, if (unlikely(js == NULL)) { return TM_ECODE_OK; } + if (thread->dnp3log_ctx->include_metadata) { + JsonAddMetadata(p, f, js); + } json_t *dnp3js = JsonDNP3LogResponse(tx); if (dnp3js != NULL) { json_object_set_new(js, "dnp3", dnp3js); @@ -365,13 +372,14 @@ static void OutputDNP3LogDeInitCtxSub(OutputCtx *output_ctx) static OutputInitResult OutputDNP3LogInitSub(ConfNode *conf, OutputCtx *parent_ctx) { OutputInitResult result = { NULL, false }; - OutputJsonCtx *ajt = parent_ctx->data; + OutputJsonCtx *json_ctx = parent_ctx->data; LogDNP3FileCtx *dnp3log_ctx = SCCalloc(1, sizeof(*dnp3log_ctx)); if (unlikely(dnp3log_ctx == NULL)) { return result; } - dnp3log_ctx->file_ctx = ajt->file_ctx; + dnp3log_ctx->file_ctx = json_ctx->file_ctx; + dnp3log_ctx->include_metadata = json_ctx->include_metadata; OutputCtx *output_ctx = SCCalloc(1, sizeof(*output_ctx)); if (unlikely(output_ctx == NULL)) {