Go to the documentation of this file.
35 const Packet *p,
const uint64_t tx_id,
const uint32_t rule_cnt,
36 const uint32_t pkt_prefilter_cnt)
45 SCJbOpenObject(js,
"inspectedrules");
46 SCJbSetString(js,
"inspect_type",
"tx");
47 SCJbSetUint(js,
"rule_group_id", sgh->
id);
48 SCJbSetUint(js,
"rule_cnt", rule_cnt);
49 SCJbSetUint(js,
"pkt_rule_cnt", pkt_prefilter_cnt);
51 SCJbOpenArray(js,
"rules");
52 for (uint32_t x = 0; x < rule_cnt; x++) {
57 SCJbAppendUint(js, s->
id);
63 const char *filename =
"packet_inspected_rules.json";
65 char log_path[PATH_MAX] =
"";
66 snprintf(log_path,
sizeof(log_path),
"%s/%s", log_dir, filename);
69 FILE *fp = fopen(log_path,
"a");
71 fwrite(SCJbPtr(js), SCJbLen(js), 1, fp);
89 SCJbOpenObject(js,
"inspectedrules");
90 SCJbSetString(js,
"inspect_type",
"packet");
91 SCJbSetUint(js,
"rule_group_id", sgh->
id);
94 SCJbOpenArray(js,
"rules");
99 SCJbAppendUint(js, s->
id);
105 const char *filename =
"packet_inspected_rules.json";
107 char log_path[PATH_MAX] =
"";
108 snprintf(log_path,
sizeof(log_path),
"%s/%s", log_dir, filename);
111 FILE *fp = fopen(log_path,
"a");
113 fwrite(SCJbPtr(js), SCJbLen(js), 1, fp);
void RulesDumpTxMatchArray(const DetectEngineThreadCtx *det_ctx, const SigGroupHead *sgh, const Packet *p, const uint64_t tx_id, const uint32_t rule_cnt, const uint32_t pkt_prefilter_cnt)
Container for matching data for a signature group.
SCMutex g_rule_dump_write_m
SCJsonBuilder * CreateEveHeader(const Packet *p, enum SCOutputJsonLogDirection dir, const char *event_type, JsonAddrInfo *addr, OutputJsonCtx *eve_ctx)
const char * AppProtoToString(AppProto alproto)
Maps the ALPROTO_*, to its string equivalent.
#define SCMUTEX_INITIALIZER
RuleMatchCandidateTx * tx_candidates
#define SCMutexUnlock(mut)
const char * SCConfigGetLogDirectory(void)
void RulesDumpMatchArray(const DetectEngineThreadCtx *det_ctx, const SigGroupHead *sgh, const Packet *p)
SCJsonBuilder * CreateEveHeaderWithTxId(const Packet *p, enum SCOutputJsonLogDirection dir, const char *event_type, JsonAddrInfo *addr, uint64_t tx_id, OutputJsonCtx *eve_ctx)
AppProto alproto
application level protocol