if ( b )
b->eval(p);
- if ( !flow->ssn_client || !flow->session->setup(p) )
+ if ( !b || (flow->flow_state == Flow::INSPECT &&
+ (!flow->ssn_client || !flow->session->setup(p))) )
flow->set_state(Flow::ALLOW);
++news;
break;
case Flow::BLOCK:
- // FIXIT-M should not repeatedly clear session
- stream.drop_packet(p);
- Active_DropSession();
+ Active_DropPacket();
break;
}
#include "target_based/sftarget_data.h"
#include "target_based/sftarget_protocol_reference.h"
#include "target_based/sftarget_reader.h"
+#include "packet_io/active.h"
THREAD_LOCAL ProfileStats bindPerfStats;
for ( unsigned i = 0; i < MAX_SFDAQ_VERDICT; i++ )
g_daq_stats.verdicts[i] += daq_stats->verdicts[i];
- sum_stats((PegCount*)&gpc, (PegCount*)&pc, array_size(pc_names));
+ sum_stats((PegCount*)&gpc, (PegCount*)&pc, array_size(pc_names)-1);
memset(&pc, 0, sizeof(pc));
sum_stats((PegCount*)&gaux, (PegCount*)&aux_counts, sizeof(aux_counts)/sizeof(PegCount));