Skip to content

Commit

Permalink
SQUASH
Browse files Browse the repository at this point in the history
  • Loading branch information
victorjulien committed Jan 28, 2025
1 parent 75975d8 commit b78c7e1
Showing 1 changed file with 22 additions and 10 deletions.
32 changes: 22 additions & 10 deletions src/detect-engine-prefilter.c
Original file line number Diff line number Diff line change
Expand Up @@ -754,9 +754,15 @@ int PrefilterSetupRuleGroup(DetectEngineCtx *de_ctx, SigGroupHead *sgh)
goto error;
data->size = t->sigs_cnt;
memcpy((uint8_t *)&data->array, t->sigs, t->sigs_cnt * sizeof(data->array[0]));
PrefilterAppendTxEngine(de_ctx, sgh, PrefilterTxNonPF, t->alproto, t->progress,
(void *)data, free, "hmmm what name to pick?"); // TODO proper free func
// TODO proper free func
if (PrefilterAppendTxEngine(de_ctx, sgh, PrefilterTxNonPF, t->alproto, t->progress,
(void *)data, free, "hmmm what name to pick?") < 0) {
SCFree(data);
goto error;
}
}
HashListTableFree(tx_engines_hash);
tx_engines_hash = NULL;

if (pkt_non_pf_array_size) {
// SCLogNotice("sgh:%p: %u pkt non-pf sigs, with alproto:%u, dsize:%u, dport:%u",
Expand All @@ -769,9 +775,13 @@ int PrefilterSetupRuleGroup(DetectEngineCtx *de_ctx, SigGroupHead *sgh)
memcpy((uint8_t *)&data->array, pkt_non_pf_array,
pkt_non_pf_array_size * sizeof(data->array[0]));
// TODO can we set a mask here?
PrefilterAppendEngine(de_ctx, sgh, PrefilterPktNonPF, 0, (void *)data, free,
"pkt::non_pf"); // TODO name
// TODO free func
// TODO name
// TODO free func
if (PrefilterAppendEngine(
de_ctx, sgh, PrefilterPktNonPF, 0, (void *)data, free, "pkt::non_pf") < 0) {
SCFree(data);
goto error;
}
}
if (frame_non_pf_array_size) {
SCLogDebug("%u frame non-pf sigs", frame_non_pf_array_size);
Expand All @@ -782,13 +792,15 @@ int PrefilterSetupRuleGroup(DetectEngineCtx *de_ctx, SigGroupHead *sgh)
data->size = frame_non_pf_array_size;
memcpy((uint8_t *)&data->array, frame_non_pf_array,
frame_non_pf_array_size * sizeof(data->array[0]));
PrefilterAppendFrameEngine(de_ctx, sgh, PrefilterFrameNonPF, ALPROTO_UNKNOWN,
FRAME_ANY_TYPE, (void *)data, free, "pkt::non_pf"); // TODO name
// TODO free func
// TODO free func
// TODO engine name
if (PrefilterAppendFrameEngine(de_ctx, sgh, PrefilterFrameNonPF, ALPROTO_UNKNOWN,
FRAME_ANY_TYPE, (void *)data, free, "pkt::non_pf") < 0) {
SCFree(data);
goto error;
}
}

HashListTableFree(tx_engines_hash);
tx_engines_hash = NULL;
SCFree(pkt_non_pf_array);
pkt_non_pf_array = NULL;
SCFree(frame_non_pf_array);
Expand Down

0 comments on commit b78c7e1

Please sign in to comment.