}
-static int DetectFlowbitMatchToggle (Packet *p, const DetectFlowbitsData *fd, const int flow_locked)
+static int DetectFlowbitMatchToggle (Packet *p, const DetectFlowbitsData *fd)
{
if (p->flow == NULL)
return 0;
- if (flow_locked)
- FlowBitToggleNoLock(p->flow,fd->idx);
- else
- FlowBitToggle(p->flow,fd->idx);
+ FlowBitToggle(p->flow,fd->idx);
+
return 1;
}
-static int DetectFlowbitMatchUnset (Packet *p, const DetectFlowbitsData *fd, const int flow_locked)
+static int DetectFlowbitMatchUnset (Packet *p, const DetectFlowbitsData *fd)
{
if (p->flow == NULL)
return 0;
- if (flow_locked)
- FlowBitUnsetNoLock(p->flow,fd->idx);
- else
- FlowBitUnset(p->flow,fd->idx);
+ FlowBitUnset(p->flow,fd->idx);
+
return 1;
}
-static int DetectFlowbitMatchSet (Packet *p, const DetectFlowbitsData *fd, const int flow_locked)
+static int DetectFlowbitMatchSet (Packet *p, const DetectFlowbitsData *fd)
{
if (p->flow == NULL)
return 0;
- if (flow_locked)
- FlowBitSetNoLock(p->flow,fd->idx);
- else
- FlowBitSet(p->flow,fd->idx);
+ FlowBitSet(p->flow,fd->idx);
+
return 1;
}
const DetectFlowbitsData *fd = (const DetectFlowbitsData *)ctx;
if (fd == NULL)
return 0;
- const int flow_locked = det_ctx->flow_locked;
switch (fd->cmd) {
case DETECT_FLOWBITS_CMD_ISSET:
case DETECT_FLOWBITS_CMD_ISNOTSET:
return DetectFlowbitMatchIsnotset(p,fd);
case DETECT_FLOWBITS_CMD_SET:
- return DetectFlowbitMatchSet(p,fd,flow_locked);
+ return DetectFlowbitMatchSet(p,fd);
case DETECT_FLOWBITS_CMD_UNSET:
- return DetectFlowbitMatchUnset(p,fd,flow_locked);
+ return DetectFlowbitMatchUnset(p,fd);
case DETECT_FLOWBITS_CMD_TOGGLE:
- return DetectFlowbitMatchToggle(p,fd,flow_locked);
+ return DetectFlowbitMatchToggle(p,fd);
default:
SCLogError(SC_ERR_UNKNOWN_VALUE, "unknown cmd %" PRIu32 "", fd->cmd);
return 0;
FlowBitFree(fb);
}
-void FlowBitSetNoLock(Flow *f, uint16_t idx)
-{
- FlowBitAdd(f, idx);
-}
-
void FlowBitSet(Flow *f, uint16_t idx)
{
- FLOWLOCK_WRLOCK(f);
FlowBitAdd(f, idx);
- FLOWLOCK_UNLOCK(f);
-}
-
-void FlowBitUnsetNoLock(Flow *f, uint16_t idx)
-{
- FlowBitRemove(f, idx);
}
void FlowBitUnset(Flow *f, uint16_t idx)
{
- FLOWLOCK_WRLOCK(f);
FlowBitRemove(f, idx);
- FLOWLOCK_UNLOCK(f);
}
-void FlowBitToggleNoLock(Flow *f, uint16_t idx)
+void FlowBitToggle(Flow *f, uint16_t idx)
{
FlowBit *fb = FlowBitGet(f, idx);
if (fb != NULL) {
}
}
-void FlowBitToggle(Flow *f, uint16_t idx)
-{
- FLOWLOCK_WRLOCK(f);
- FlowBitToggleNoLock(f, idx);
- FLOWLOCK_UNLOCK(f);
-}
-
int FlowBitIsset(Flow *f, uint16_t idx)
{
int r = 0;
void FlowBitFree(FlowBit *);
void FlowBitRegisterTests(void);
-void FlowBitSetNoLock(Flow *, uint16_t);
void FlowBitSet(Flow *, uint16_t);
-void FlowBitUnsetNoLock(Flow *, uint16_t);
void FlowBitUnset(Flow *, uint16_t);
-void FlowBitToggleNoLock(Flow *, uint16_t);
void FlowBitToggle(Flow *, uint16_t);
int FlowBitIsset(Flow *, uint16_t);
int FlowBitIsnotset(Flow *, uint16_t);