]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect/analyzer: add frame support
authorVictor Julien <vjulien@oisf.net>
Fri, 3 Dec 2021 07:18:40 +0000 (08:18 +0100)
committerVictor Julien <vjulien@oisf.net>
Tue, 18 Jan 2022 11:21:52 +0000 (12:21 +0100)
src/detect-engine-analyzer.c

index 741d0c434c2a22a68a825ebd8836cdb65915a78d..8c2948e60394e1fc237450216a7b497fa9c2108e 100644 (file)
@@ -828,6 +828,17 @@ void EngineAnalysisRules2(const DetectEngineCtx *de_ctx, const Signature *s)
         }
     }
     jb_close(ctx.js);
+    jb_open_array(ctx.js, "frame_engines");
+    const DetectEngineFrameInspectionEngine *frame = s->frame_inspect;
+    for (; frame != NULL; frame = frame->next) {
+        const char *name = DetectEngineBufferTypeGetNameById(de_ctx, frame->sm_list);
+        jb_start_object(ctx.js);
+        jb_set_string(ctx.js, "name", name);
+        jb_set_bool(ctx.js, "is_mpm", frame->mpm);
+        DumpMatches(&ctx, ctx.js, frame->smd);
+        jb_close(ctx.js);
+    }
+    jb_close(ctx.js);
 
     if (s->init_data->init_flags & SIG_FLAG_INIT_STATE_MATCH) {
         bool has_stream = false;