aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/suricata/src/output-json.c
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/suricata/src/output-json.c')
-rw-r--r--framework/src/suricata/src/output-json.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/framework/src/suricata/src/output-json.c b/framework/src/suricata/src/output-json.c
index 9cc9bd94..b9c2b886 100644
--- a/framework/src/suricata/src/output-json.c
+++ b/framework/src/suricata/src/output-json.c
@@ -345,7 +345,7 @@ static int MemBufferCallback(const char *str, size_t size, void *data)
MemBufferExpand(&memb, OUTPUT_BUFFER_SIZE);
}
#endif
- MemBufferWriteString(memb, "%s", str);
+ MemBufferWriteRaw(memb, str, size);
return 0;
}
@@ -356,6 +356,9 @@ int OutputJSONBuffer(json_t *js, LogFileCtx *file_ctx, MemBuffer *buffer)
json_string(file_ctx->sensor_name));
}
+ if (file_ctx->prefix)
+ MemBufferWriteRaw(buffer, file_ctx->prefix, file_ctx->prefix_len);
+
int r = json_dump_callback(js, MemBufferCallback, buffer,
JSON_PRESERVE_ORDER|JSON_COMPACT|JSON_ENSURE_ASCII|
#ifdef JSON_ESCAPE_SLASH
@@ -496,6 +499,7 @@ OutputCtx *OutputJsonInitCtx(ConfNode *conf)
const char *prefix = ConfNodeLookupChildValue(conf, "prefix");
if (prefix != NULL)
{
+ SCLogInfo("Using prefix '%s' for JSON messages", prefix);
json_ctx->file_ctx->prefix = SCStrdup(prefix);
if (json_ctx->file_ctx->prefix == NULL)
{
@@ -503,6 +507,7 @@ OutputCtx *OutputJsonInitCtx(ConfNode *conf)
"Failed to allocate memory for eve-log.prefix setting.");
exit(EXIT_FAILURE);
}
+ json_ctx->file_ctx->prefix_len = strlen(prefix);
}
if (json_ctx->json_out == LOGFILE_TYPE_FILE ||