detect/prefilter: fix prefilter when setting is 'mpm'

When prefilter is not enabled globally, it is still possible to
enable it per signature. This was broken however, as the setup
code would never be called.

This commit always call the setup code and lets that sort out
which signatures (if any) to enable prefiltering for.
pull/3538/head
Victor Julien 7 years ago
parent c80aae1b5b
commit df6b985f3c

@ -380,13 +380,12 @@ void PrefilterSetupRuleGroup(DetectEngineCtx *de_ctx, SigGroupHead *sgh)
{
BUG_ON(PatternMatchPrepareGroup(de_ctx, sgh) != 0);
if (de_ctx->prefilter_setting == DETECT_PREFILTER_AUTO) {
int i = 0;
for (i = 0; i < DETECT_TBLSIZE; i++)
{
if (sigmatch_table[i].SetupPrefilter != NULL) {
sigmatch_table[i].SetupPrefilter(sgh);
}
/* set up engines if needed - independent of 'detect.prefilter.default'
* setting as the prefilter keyword may have enabled individual sigs */
for (int i = 0; i < DETECT_TBLSIZE; i++)
{
if (sigmatch_table[i].SetupPrefilter != NULL) {
sigmatch_table[i].SetupPrefilter(sgh);
}
}

Loading…
Cancel
Save