// process flow verdicts here
if ( Active::session_was_blocked() )
{
+ if ( !Active::can_block() )
+ return DAQ_VERDICT_PASS;
+
if ( Active::get_tunnel_bypass() )
{
aux_counts.internal_blacklist++;
// process (wire-only) packet verdicts here
static DAQ_Verdict update_verdict(DAQ_Verdict verdict, int& inject)
{
- if ( Active::packet_was_dropped() )
+ if ( Active::packet_was_dropped() and Active::can_block() )
{
if ( verdict == DAQ_VERDICT_PASS )
verdict = DAQ_VERDICT_BLOCK;
static ActiveStatus get_status()
{ return active_status; }
+ static bool can_block()
+ { return active_status == AST_ALLOW or active_status == AST_FORCE; }
+
static const char* get_action_string();
static void drop_packet(const Packet*, bool force = false);