From 74053f43cb051b3d9354c0999d50297ecdd2da9a Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Mon, 8 Jun 2020 12:28:02 -0600 Subject: [PATCH] json: macros for setting formatted true and string values 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 | 6 +++--- src/output-json-flow.c | 8 ++++---- src/output-json.c | 16 ++++++++-------- src/rust.h | 3 +++ 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/output-json-file.c b/src/output-json-file.c index 6a6789048a..f104eb1e61 100644 --- a/src/output-json-file.c +++ b/src/output-json-file.c @@ -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; } diff --git a/src/output-json-flow.c b/src/output-json-flow.c index 2efaf353f4..cd0014785d 100644 --- a/src/output-json-flow.c +++ b/src/output-json-flow.c @@ -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. */ diff --git a/src/output-json.c b/src/output-json.c index 503a54c060..aab31d1a96 100644 --- a/src/output-json.c +++ b/src/output-json.c @@ -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) diff --git a/src/rust.h b/src/rust.h index e4e4531a52..3be526866b 100644 --- a/src/rust.h +++ b/src/rust.h @@ -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__ */ -- 2.47.2