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/3451/head
Victor Julien 7 years ago
parent 085521b218
commit 4f1befd217

@ -348,13 +348,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(de_ctx, 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(de_ctx, sgh);
}
}

Loading…
Cancel
Save