PASS;
}
+static int DetectFastPatternPrefilter(void)
+{
+ DetectEngineCtx *de_ctx = DetectEngineCtxInit();
+ FAIL_IF_NULL(de_ctx);
+ const char *string = "alert tcp any any -> any any "
+ "(content:\"one\"; prefilter; sid:1;)";
+ Signature *s = DetectEngineAppendSig(de_ctx, string);
+ FAIL_IF_NULL(s);
+ SigMatch *sm = de_ctx->sig_list->sm_lists[DETECT_SM_LIST_PMATCH];
+ FAIL_IF_NULL(sm);
+ FAIL_IF_NOT(sm->type == DETECT_CONTENT);
+ DetectContentData *cd = (DetectContentData *)sm->ctx;
+ FAIL_IF_NOT(DETECT_CONTENT_IS_SINGLE(cd));
+ FAIL_IF_NOT((cd->flags & DETECT_CONTENT_FAST_PATTERN) == DETECT_CONTENT_FAST_PATTERN);
+ DetectEngineCtxFree(de_ctx);
+ PASS;
+}
+
static void DetectFastPatternRegisterTests(void)
{
UtRegisterTest("DetectFastPatternTest01", DetectFastPatternTest01);
* - if 2 duplicate patterns, with no chop set get unique ids.
*/
UtRegisterTest("DetectFastPatternTest671", DetectFastPatternTest671);
+
+ UtRegisterTest("DetectFastPatternPrefilter", DetectFastPatternPrefilter);
}
#endif