]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect/analyzer: display per rule prefilter details
authorVictor Julien <victor@inliniac.net>
Mon, 8 Feb 2021 07:28:37 +0000 (08:28 +0100)
committerVictor Julien <victor@inliniac.net>
Wed, 1 Sep 2021 06:33:52 +0000 (08:33 +0200)
src/detect-engine-analyzer.c

index 88cce4ca6440b3dbe3a4867c089a53c97dc0392d..0cad2dccd45c8d3c2c5501b3ecb42caa230627c6 100644 (file)
@@ -911,6 +911,18 @@ void EngineAnalysisRules2(const DetectEngineCtx *de_ctx, const Signature *s)
             smd++;
         } while (1);
         jb_close(ctx.js);
+    } else if (s->init_data->prefilter_sm) {
+        jb_open_object(ctx.js, "prefilter");
+        int prefilter_list = SigMatchListSMBelongsTo(s, s->init_data->prefilter_sm);
+        const char *name;
+        if (prefilter_list < DETECT_SM_LIST_DYNAMIC_START)
+            name = DetectListToHumanString(prefilter_list);
+        else
+            name = DetectBufferTypeGetNameById(de_ctx, prefilter_list);
+        jb_set_string(ctx.js, "buffer", name);
+        const char *mname = sigmatch_table[s->init_data->prefilter_sm->type].name;
+        jb_set_string(ctx.js, "name", mname);
+        jb_close(ctx.js);
     }
 
     if (ctx.js_warnings) {