]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
json: macros for setting formatted true and string values
authorJason Ish <jason.ish@oisf.net>
Mon, 8 Jun 2020 18:28:02 +0000 (12:28 -0600)
committerVictor Julien <victor@inliniac.net>
Tue, 9 Jun 2020 11:29:04 +0000 (13:29 +0200)
JB_SET_TRUE(jb, key), and JB_SET_STRING(string, key, val) are C macros
around jb_set_formatted to set static string and true values as a
(micro) optimization.

src/output-json-file.c
src/output-json-flow.c
src/output-json.c
src/rust.h

index 6a6789048a4d5778ce1ea67d67640064509e2d28..f104eb1e61dd400b94adf22ff093be0e35c88709 100644 (file)
@@ -218,13 +218,13 @@ JsonBuilder *JsonBuildFileInfoRecord(const Packet *p, const File *ff,
 #endif
             break;
         case FILE_STATE_TRUNCATED:
-            jb_set_string(js, "state", "TRUNCATED");
+            JB_SET_STRING(js, "state", "TRUNCATED");
             break;
         case FILE_STATE_ERROR:
-            jb_set_string(js, "state", "ERROR");
+            JB_SET_STRING(js, "state", "ERROR");
             break;
         default:
-            jb_set_string(js, "state", "UNKNOWN");
+            JB_SET_STRING(js, "state", "UNKNOWN");
             break;
     }
 
index 2efaf353f4e17f1557d167dbd45c7210474a045e..cd0014785d74bc7b4d86d9ddf255bac310700a92 100644 (file)
@@ -239,7 +239,7 @@ static void EveFlowLogJSON(JsonFlowLogThread *aft, JsonBuilder *jb, Flow *f)
     jb_set_uint(jb, "age", age);
 
     if (f->flow_end_flags & FLOW_END_FLAG_EMERGENCY)
-        jb_set_bool(jb, "emergency", true);
+        JB_SET_TRUE(jb, "emergency");
     const char *state = NULL;
     if (f->flow_end_flags & FLOW_END_FLAG_STATE_NEW)
         state = "new";
@@ -280,7 +280,7 @@ static void EveFlowLogJSON(JsonFlowLogThread *aft, JsonBuilder *jb, Flow *f)
 
     jb_set_bool(jb, "alerted", FlowHasAlerts(f));
     if (f->flags & FLOW_WRONG_THREAD)
-        jb_set_bool(jb, "wrong_thread", true);
+        JB_SET_TRUE(jb, "wrong_thread");
 
     /* Close flow. */
     jb_close(jb);
@@ -350,9 +350,9 @@ static void EveFlowLogJSON(JsonFlowLogThread *aft, JsonBuilder *jb, Flow *f)
             }
             jb_set_string(jb, "state", tcp_state);
             if (ssn->client.flags & STREAMTCP_STREAM_FLAG_GAP)
-                jb_set_bool(jb, "gap_ts", true);
+                JB_SET_TRUE(jb, "gap_ts");
             if (ssn->server.flags & STREAMTCP_STREAM_FLAG_GAP)
-                jb_set_bool(jb, "gap_tc", true);
+                JB_SET_TRUE(jb, "gap_tc");
         }
 
         /* Close tcp. */
index 503a54c060cac8bccfd3c9a13b92e684fc43e57b..aab31d1a96005a7fccf8436bb10f4fe66d3ec299 100644 (file)
@@ -700,21 +700,21 @@ void JsonTcpFlags(uint8_t flags, json_t *js)
 void EveTcpFlags(const uint8_t flags, JsonBuilder *js)
 {
     if (flags & TH_SYN)
-        jb_set_bool(js, "syn", true);
+        JB_SET_TRUE(js, "syn");
     if (flags & TH_FIN)
-        jb_set_bool(js, "fin", true);
+        JB_SET_TRUE(js, "fin");
     if (flags & TH_RST)
-        jb_set_bool(js, "rst", true);
+        JB_SET_TRUE(js, "rst");
     if (flags & TH_PUSH)
-        jb_set_bool(js, "psh", true);
+        JB_SET_TRUE(js, "psh");
     if (flags & TH_ACK)
-        jb_set_bool(js, "ack", true);
+        JB_SET_TRUE(js, "ack");
     if (flags & TH_URG)
-        jb_set_bool(js, "urg", true);
+        JB_SET_TRUE(js, "urg");
     if (flags & TH_ECN)
-        jb_set_bool(js, "ecn", true);
+        JB_SET_TRUE(js, "ecn");
     if (flags & TH_CWR)
-        jb_set_bool(js, "cwr", true);
+        JB_SET_TRUE(js, "cwr");
 }
 
 void JsonAddrInfoInit(const Packet *p, enum OutputJsonLogDirection dir, JsonAddrInfo *addr)
index e4e4531a52f68db986faaa78a0da02208f0fca66..3be526866b0f6d28c4903e4dd87c60def0c4dd7b 100644 (file)
@@ -21,4 +21,7 @@
 #include "rust-context.h"
 #include "rust-bindings.h"
 
+#define JB_SET_STRING(jb, key, val) jb_set_formatted((jb), "\"" key "\":\"" val "\"")
+#define JB_SET_TRUE(jb, key) jb_set_formatted((jb), "\"" key "\":true")
+
 #endif /* !__RUST_H__ */