uint32_t payload_buffer_size;
HttpXFFCfg *xff_cfg;
HttpXFFCfg *parent_xff_cfg;
- bool include_metadata;
+ OutputJsonCommonSettings cfg;
} AlertJsonOutputCtx;
typedef struct JsonAlertLogThread_ {
if (unlikely(js == NULL))
return TM_ECODE_OK;
- if (json_output_ctx->include_metadata) {
+ if (json_output_ctx->cfg.include_metadata) {
JsonAddMetadata(p, p->flow, js);
}
memset(json_output_ctx, 0, sizeof(AlertJsonOutputCtx));
json_output_ctx->file_ctx = ajt->file_ctx;
- json_output_ctx->include_metadata = ajt->include_metadata;
+ json_output_ctx->cfg = ajt->cfg;
JsonAlertLogSetupMetadata(json_output_ctx, conf);
json_output_ctx->xff_cfg = JsonAlertLogGetXffCfg(conf);
LogFileCtx *file_ctx;
uint32_t flags;
uint8_t include_object_data;
- bool include_metadata;
+ OutputJsonCommonSettings cfg;
} LogDNP3FileCtx;
typedef struct LogDNP3LogThread_ {
if (unlikely(js == NULL)) {
return TM_ECODE_OK;
}
- if (thread->dnp3log_ctx->include_metadata) {
+ if (thread->dnp3log_ctx->cfg.include_metadata) {
JsonAddMetadata(p, f, js);
}
json_t *dnp3js = JsonDNP3LogRequest(tx);
if (unlikely(js == NULL)) {
return TM_ECODE_OK;
}
- if (thread->dnp3log_ctx->include_metadata) {
+ if (thread->dnp3log_ctx->cfg.include_metadata) {
JsonAddMetadata(p, f, js);
}
json_t *dnp3js = JsonDNP3LogResponse(tx);
return result;
}
dnp3log_ctx->file_ctx = json_ctx->file_ctx;
- dnp3log_ctx->include_metadata = json_ctx->include_metadata;
+ dnp3log_ctx->cfg = json_ctx->cfg;
OutputCtx *output_ctx = SCCalloc(1, sizeof(*output_ctx));
if (unlikely(output_ctx == NULL)) {
typedef struct LogDnsFileCtx_ {
LogFileCtx *file_ctx;
uint64_t flags; /** Store mode */
- bool include_metadata;
DnsVersion version;
+ OutputJsonCommonSettings cfg;
} LogDnsFileCtx;
typedef struct LogDnsLogThread_ {
if (unlikely(js == NULL)) {
return TM_ECODE_OK;
}
- if (dnslog_ctx->include_metadata) {
+ if (dnslog_ctx->cfg.include_metadata) {
JsonAddMetadata(p, f, js);
}
json_t *dns = rs_dns_log_json_query(txptr, i, td->dnslog_ctx->flags);
if (unlikely(js == NULL))
return TM_ECODE_OK;
- if (dnslog_ctx->include_metadata) {
+ if (dnslog_ctx->cfg.include_metadata) {
JsonAddMetadata(p, f, js);
}
memset(dnslog_ctx, 0x00, sizeof(LogDnsFileCtx));
dnslog_ctx->file_ctx = ojc->file_ctx;
- dnslog_ctx->include_metadata = ojc->include_metadata;
+ dnslog_ctx->cfg = ojc->cfg;
OutputCtx *output_ctx = SCCalloc(1, sizeof(OutputCtx));
if (unlikely(output_ctx == NULL)) {
typedef struct JsonDropOutputCtx_ {
LogFileCtx *file_ctx;
uint8_t flags;
- bool include_metadata;
+ OutputJsonCommonSettings cfg;
} JsonDropOutputCtx;
typedef struct JsonDropLogThread_ {
if (unlikely(js == NULL))
return TM_ECODE_OK;
- if (drop_ctx->include_metadata) {
+ if (drop_ctx->cfg.include_metadata) {
JsonAddMetadata(p, p->flow, js);
}
}
drop_ctx->file_ctx = ajt->file_ctx;
- drop_ctx->include_metadata = ajt->include_metadata;
+ drop_ctx->cfg = ajt->cfg;
output_ctx->data = drop_ctx;
output_ctx->DeInit = JsonDropLogDeInitCtxSub;
LogFileCtx *file_ctx;
uint32_t flags; /** Store mode */
uint64_t fields;/** Store fields */
- bool include_metadata;
+ OutputJsonCommonSettings cfg;
} OutputJsonEmailCtx;
typedef struct LogJsonFileCtx_ {
LogFileCtx *file_ctx;
uint32_t flags; /** Store mode */
- bool include_metadata;
+ OutputJsonCommonSettings cfg;
} LogJsonFileCtx;
typedef struct JsonFlowLogThread_ {
json_object_set_new(js, "flow", hjs);
- if (flow_ctx->include_metadata) {
+ if (flow_ctx->cfg.include_metadata) {
JsonAddMetadata(NULL, f, js);
}
}
flow_ctx->file_ctx = ojc->file_ctx;
- flow_ctx->include_metadata = ojc->include_metadata;
+ flow_ctx->cfg = ojc->cfg;
output_ctx->data = flow_ctx;
output_ctx->DeInit = OutputFlowLogDeinitSub;
LogFileCtx *file_ctx;
uint32_t flags; /** Store mode */
uint64_t fields;/** Store fields */
- bool include_metadata;
HttpXFFCfg *xff_cfg;
HttpXFFCfg *parent_xff_cfg;
+ OutputJsonCommonSettings cfg;
} LogHttpFileCtx;
typedef struct JsonHttpLogThread_ {
if (unlikely(js == NULL))
return TM_ECODE_OK;
- if (jhl->httplog_ctx->include_metadata) {
+ if (jhl->httplog_ctx->cfg.include_metadata) {
JsonAddMetadata(p, f, js);
}
http_ctx->file_ctx = ojc->file_ctx;
http_ctx->flags = LOG_HTTP_DEFAULT;
- http_ctx->include_metadata = ojc->include_metadata;
+ http_ctx->cfg = ojc->cfg;
if (conf) {
const char *extended = ConfNodeLookupChildValue(conf, "extended");
typedef struct LogIKEv2FileCtx_ {
LogFileCtx *file_ctx;
- uint32_t flags;
- bool include_metadata;
+ OutputJsonCommonSettings cfg;
} LogIKEv2FileCtx;
typedef struct LogIKEv2LogThread_ {
LogIKEv2FileCtx *ikev2log_ctx;
- uint32_t count;
MemBuffer *buffer;
} LogIKEv2LogThread;
return TM_ECODE_FAILED;
}
- if (thread->ikev2log_ctx->include_metadata) {
+ if (thread->ikev2log_ctx->cfg.include_metadata) {
JsonAddMetadata(p, f, js);
}
return result;
}
ikev2log_ctx->file_ctx = ajt->file_ctx;
- ikev2log_ctx->include_metadata = ajt->include_metadata;
+ ikev2log_ctx->cfg = ajt->cfg;
OutputCtx *output_ctx = SCCalloc(1, sizeof(*output_ctx));
if (unlikely(output_ctx == NULL)) {
typedef struct LogKRB5FileCtx_ {
LogFileCtx *file_ctx;
- uint32_t flags;
- bool include_metadata;
+ OutputJsonCommonSettings cfg;
} LogKRB5FileCtx;
typedef struct LogKRB5LogThread_ {
LogKRB5FileCtx *krb5log_ctx;
- uint32_t count;
MemBuffer *buffer;
} LogKRB5LogThread;
return TM_ECODE_FAILED;
}
- if (thread->krb5log_ctx->include_metadata) {
+ if (thread->krb5log_ctx->cfg.include_metadata) {
JsonAddMetadata(p, f, js);
}
return result;
}
krb5log_ctx->file_ctx = ajt->file_ctx;
- krb5log_ctx->include_metadata = ajt->include_metadata;
+ krb5log_ctx->cfg = ajt->cfg;
OutputCtx *output_ctx = SCCalloc(1, sizeof(*output_ctx));
if (unlikely(output_ctx == NULL)) {
typedef struct LogJsonFileCtx_ {
LogFileCtx *file_ctx;
- bool include_metadata;
+ OutputJsonCommonSettings cfg;
} LogJsonFileCtx;
typedef struct JsonNetFlowLogThread_ {
if (unlikely(js == NULL))
return TM_ECODE_OK;
JsonNetFlowLogJSONToServer(jhl, js, f);
- if (netflow_ctx->include_metadata) {
+ if (netflow_ctx->cfg.include_metadata) {
JsonAddMetadata(NULL, f, js);
}
OutputJSONBuffer(js, jhl->flowlog_ctx->file_ctx, &jhl->buffer);
if (unlikely(js == NULL))
return TM_ECODE_OK;
JsonNetFlowLogJSONToClient(jhl, js, f);
- if (netflow_ctx->include_metadata) {
+ if (netflow_ctx->cfg.include_metadata) {
JsonAddMetadata(NULL, f, js);
}
OutputJSONBuffer(js, jhl->flowlog_ctx->file_ctx, &jhl->buffer);
}
flow_ctx->file_ctx = ojc->file_ctx;
- flow_ctx->include_metadata = ojc->include_metadata;
+ flow_ctx->cfg = ojc->cfg;
output_ctx->data = flow_ctx;
output_ctx->DeInit = OutputNetFlowLogDeinitSub;
return TM_ECODE_FAILED;
}
- if (thread->ctx->include_metadata) {
+ if (thread->ctx->cfg.include_metadata) {
JsonAddMetadata(p, f, js);
}
/* reset */
MemBufferReset(jhl->buffer);
- if (jhl->emaillog_ctx->include_metadata) {
+ if (jhl->emaillog_ctx->cfg.include_metadata) {
JsonAddMetadata(p, f, js);
}
}
email_ctx->file_ctx = ojc->file_ctx;
- email_ctx->include_metadata = ojc->include_metadata;
+ email_ctx->cfg = ojc->cfg;
OutputEmailInitConf(conf, email_ctx);
typedef struct OutputSshCtx_ {
LogFileCtx *file_ctx;
- uint32_t flags; /** Store mode */
- bool include_metadata;
+ OutputJsonCommonSettings cfg;
} OutputSshCtx;
if (unlikely(js == NULL))
return 0;
- if (ssh_ctx->include_metadata) {
+ if (ssh_ctx->cfg.include_metadata) {
JsonAddMetadata(p, f, js);
}
}
ssh_ctx->file_ctx = ojc->file_ctx;
- ssh_ctx->include_metadata = ojc->include_metadata;
+ ssh_ctx->cfg = ojc->cfg;
output_ctx->data = ssh_ctx;
output_ctx->DeInit = OutputSshLogDeinitSub;
LogFileCtx *file_ctx;
uint32_t flags; /** Store mode */
uint64_t fields; /** Store fields */
- bool include_metadata;
+ OutputJsonCommonSettings cfg;
} OutputTlsCtx;
return 0;
}
- if (tls_ctx->include_metadata) {
+ if (tls_ctx->cfg.include_metadata) {
JsonAddMetadata(p, f, js);
}
}
tls_ctx->file_ctx = ojc->file_ctx;
- tls_ctx->include_metadata = ojc->include_metadata;
+ tls_ctx->cfg = ojc->cfg;
if ((tls_ctx->fields & LOG_TLS_FIELD_CERTIFICATE) &&
(tls_ctx->fields & LOG_TLS_FIELD_CHAIN)) {
const ConfNode *metadata = ConfNodeLookupChild(conf, "metadata");
if (metadata && metadata->val && ConfValIsFalse(metadata->val)) {
SCLogConfig("Disabling eve metadata logging.");
- json_ctx->include_metadata = false;
+ json_ctx->cfg.include_metadata = false;
} else {
- json_ctx->include_metadata = true;
+ json_ctx->cfg.include_metadata = true;
}
/* Do we have a global eve xff configuration? */
TmEcode JsonLogThreadInit(ThreadVars *t, const void *initdata, void **data);
TmEcode JsonLogThreadDeinit(ThreadVars *t, void *data);
+typedef struct OutputJsonCommonSettings_ {
+ bool include_metadata;
+} OutputJsonCommonSettings;
+
/*
* Global configuration context data
*/
typedef struct OutputJsonCtx_ {
LogFileCtx *file_ctx;
enum LogFileType json_out;
- bool include_metadata;
+ OutputJsonCommonSettings cfg;
HttpXFFCfg *xff_cfg;
} OutputJsonCtx;