]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
applayer template (C): convert to JsonBuilder
authorJason Ish <jason.ish@oisf.net>
Tue, 7 Jul 2020 06:03:55 +0000 (00:03 -0600)
committerVictor Julien <victor@inliniac.net>
Wed, 8 Jul 2020 10:26:10 +0000 (12:26 +0200)
src/output-json-template.c

index 998f21b0a28ea6499aaa9d191b613f5442b932a7..52df436ed5f2cf86f7878726f4f17d288236fe2c 100644 (file)
@@ -72,44 +72,33 @@ static int JsonTemplateLogger(ThreadVars *tv, void *thread_data,
 
     SCLogNotice("Logging template transaction %"PRIu64".", templatetx->tx_id);
 
-    json_t *js = CreateJSONHeader(p, LOG_DIR_PACKET, "template", NULL);
+    JsonBuilder *js = CreateEveHeader(p, LOG_DIR_PACKET, "template", NULL);
     if (unlikely(js == NULL)) {
         return TM_ECODE_FAILED;
     }
 
-    json_t *templatejs = json_object();
-    if (unlikely(templatejs == NULL)) {
-        goto error;
-    }
+    jb_open_object(js, "template");
 
-    /* Convert the request buffer to a string then log. */
-    char *request_buffer = BytesToString(templatetx->request_buffer,
-        templatetx->request_buffer_len);
-    if (request_buffer != NULL) {
-        json_object_set_new(templatejs, "request", json_string(request_buffer));
-        SCFree(request_buffer);
+    /* Log the request buffer. */
+    if (templatetx->request_buffer != NULL) {
+        jb_set_string_from_bytes(js, "request", templatetx->request_buffer,
+                templatetx->request_buffer_len);
     }
 
-    /* Convert the response buffer to a string then log. */
-    char *response_buffer = BytesToString(templatetx->response_buffer,
-        templatetx->response_buffer_len);
-    if (response_buffer != NULL) {
-        json_object_set_new(templatejs, "response",
-            json_string(response_buffer));
-        SCFree(response_buffer);
+    /* Log the response buffer. */
+    if (templatetx->response_buffer != NULL) {
+        jb_set_string_from_bytes(js, "response", templatetx->response_buffer,
+                templatetx->response_buffer_len);
     }
 
-    json_object_set_new(js, "template", templatejs);
+    /* Close template. */
+    jb_close(js);
 
     MemBufferReset(thread->buffer);
-    OutputJSONBuffer(js, thread->templatelog_ctx->file_ctx, &thread->buffer);
+    OutputJsonBuilderBuffer(js, thread->templatelog_ctx->file_ctx, &thread->buffer);
 
-    json_decref(js);
+    jb_free(js);
     return TM_ECODE_OK;
-    
-error:
-    json_decref(js);
-    return TM_ECODE_FAILED;
 }
 
 static void OutputTemplateLogDeInitCtxSub(OutputCtx *output_ctx)