detect: set flow noinspect on pass in applayer/stream

If a pass rule matches in the reassembled stream and/or in the
app-layer state, it means the rest of the flow should not be
inspected.
pull/1606/head
Victor Julien 10 years ago
parent bbc9874b81
commit 06ee2bc87e

@ -293,7 +293,16 @@ void PacketAlertFinalize(DetectEngineCtx *de_ctx, DetectEngineThreadCtx *det_ctx
/* Ok, reset the alert cnt to end in the previous of pass
* so we ignore the rest with less prio */
p->alerts.cnt = i;
/* if an stream/app-layer match we enforce the pass for the flow */
if ((p->flow != NULL) &&
(p->alerts.alerts[i].flags &
(PACKET_ALERT_FLAG_STATE_MATCH|PACKET_ALERT_FLAG_STREAM_MATCH)))
{
FlowLockSetNoPacketInspectionFlag(p->flow);
}
break;
/* if the signature wants to drop, check if the
* PACKET_ALERT_FLAG_DROP_FLOW flag is set. */
} else if ((PACKET_TEST_ACTION(p, ACTION_DROP)) &&

Loading…
Cancel
Save