Keep as debug validation check.
SCEnter();
int ret = 0;
- if (PKT_IS_PSEUDOPKT(p)) {
- SCReturnInt(0);
- }
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
const DetectU16Data *dd = (const DetectU16Data *)ctx;
static int DetectFragBitsMatch (DetectEngineThreadCtx *det_ctx,
Packet *p, const Signature *s, const SigMatchCtx *ctx)
{
- if (!ctx || !PacketIsIPv4(p) || PKT_IS_PSEUDOPKT(p))
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+ if (!ctx || !PacketIsIPv4(p))
return 0;
uint8_t fragbits = 0;
static void
PrefilterPacketFragBitsMatch(DetectEngineThreadCtx *det_ctx, Packet *p, const void *pectx)
{
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
const PrefilterPacketHeaderCtx *ctx = pectx;
- if (!PacketIsIPv4(p) || PKT_IS_PSEUDOPKT(p))
+ if (!PacketIsIPv4(p))
return;
uint8_t fragbits = 0;
uint16_t frag = 0;
const DetectFragOffsetData *fragoff = (const DetectFragOffsetData *)ctx;
- if (PKT_IS_PSEUDOPKT(p))
- return 0;
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
if (PacketIsIPv4(p)) {
const IPV4Hdr *ip4h = PacketGetIPv4(p);
static void
PrefilterPacketFragOffsetMatch(DetectEngineThreadCtx *det_ctx, Packet *p, const void *pectx)
{
- if (PKT_IS_PSEUDOPKT(p))
- return;
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
uint16_t frag;
const DetectGeoipData *geoipdata = (const DetectGeoipData *)ctx;
int matches = 0;
- if (PKT_IS_PSEUDOPKT(p))
- return 0;
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
if (PacketIsIPv4(p)) {
if (geoipdata->flags & ( GEOIP_MATCH_SRC_FLAG | GEOIP_MATCH_BOTH_FLAG ))
{
uint16_t seqn;
- if (PKT_IS_PSEUDOPKT(p))
- return false;
-
if (PacketIsICMPv4(p)) {
switch (p->icmp_s.type) {
case ICMP_ECHOREPLY:
static int DetectIcmpSeqMatch (DetectEngineThreadCtx *det_ctx, Packet *p,
const Signature *s, const SigMatchCtx *ctx)
{
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
uint16_t seqn;
if (!GetIcmpSeq(p, &seqn))
static void
PrefilterPacketIcmpSeqMatch(DetectEngineThreadCtx *det_ctx, Packet *p, const void *pectx)
{
- const PrefilterPacketHeaderCtx *ctx = pectx;
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+ const PrefilterPacketHeaderCtx *ctx = pectx;
uint16_t seqn;
if (!GetIcmpSeq(p, &seqn))
// returns 0 on no mtu, and 1 if mtu
static inline int DetectICMPv6mtuGetValue(Packet *p, uint32_t *picmpv6mtu)
{
- if (!(PacketIsICMPv6(p)) || PKT_IS_PSEUDOPKT(p))
+ if (!(PacketIsICMPv6(p)))
return 0;
const ICMPV6Hdr *icmpv6h = PacketGetICMPv6(p);
if (ICMPV6_GET_CODE(icmpv6h) != 0)
static int DetectICMPv6mtuMatch (DetectEngineThreadCtx *det_ctx, Packet *p,
const Signature *s, const SigMatchCtx *ctx)
{
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+
uint32_t picmpv6mtu;
if (DetectICMPv6mtuGetValue(p, &picmpv6mtu) == 0) {
return 0;
static void
PrefilterPacketIcmpv6mtuMatch(DetectEngineThreadCtx *det_ctx, Packet *p, const void *pectx)
{
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+
uint32_t picmpv6mtu;
if (DetectICMPv6mtuGetValue(p, &picmpv6mtu) == 0) {
return;
static int DetectICodeMatch (DetectEngineThreadCtx *det_ctx, Packet *p,
const Signature *s, const SigMatchCtx *ctx)
{
- if (PKT_IS_PSEUDOPKT(p))
- return 0;
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
uint8_t picode;
if (PacketIsICMPv4(p)) {
static void PrefilterPacketICodeMatch(DetectEngineThreadCtx *det_ctx,
Packet *p, const void *pectx)
{
- if (PKT_IS_PSEUDOPKT(p)) {
- SCReturn;
- }
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
uint8_t picode;
if (PacketIsICMPv4(p)) {
static int DetectIdMatch (DetectEngineThreadCtx *det_ctx, Packet *p,
const Signature *s, const SigMatchCtx *ctx)
{
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
const DetectIdData *id_d = (const DetectIdData *)ctx;
/**
* To match a ipv4 packet with a "id" rule
*/
- if (!PacketIsIPv4(p) || PKT_IS_PSEUDOPKT(p)) {
+ if (!PacketIsIPv4(p)) {
return 0;
}
static void
PrefilterPacketIdMatch(DetectEngineThreadCtx *det_ctx, Packet *p, const void *pectx)
{
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+
const PrefilterPacketHeaderCtx *ctx = pectx;
- if (!PacketIsIPv4(p) || PKT_IS_PSEUDOPKT(p)) {
+ if (!PacketIsIPv4(p)) {
return;
}
static int DetectIpOptsMatch (DetectEngineThreadCtx *det_ctx, Packet *p,
const Signature *s, const SigMatchCtx *ctx)
{
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+
const DetectIpOptsData *de = (const DetectIpOptsData *)ctx;
- if (!de || !PacketIsIPv4(p) || PKT_IS_PSEUDOPKT(p))
+ if (!de || !PacketIsIPv4(p))
return 0;
return (p->l3.vars.ip4.opts_set & de->ipopt) == de->ipopt;
static int DetectITypeMatch (DetectEngineThreadCtx *det_ctx, Packet *p,
const Signature *s, const SigMatchCtx *ctx)
{
- if (PKT_IS_PSEUDOPKT(p))
- return 0;
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
uint8_t pitype;
if (PacketIsICMPv4(p)) {
static void PrefilterPacketITypeMatch(DetectEngineThreadCtx *det_ctx,
Packet *p, const void *pectx)
{
- if (PKT_IS_PSEUDOPKT(p)) {
- SCReturn;
- }
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
uint8_t pitype;
if (PacketIsICMPv4(p)) {
static int DetectStreamSizeMatch(
DetectEngineThreadCtx *det_ctx, Packet *p, const Signature *s, const SigMatchCtx *ctx)
{
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
const DetectStreamSizeData *sd = (const DetectStreamSizeData *)ctx;
static void PrefilterPacketStreamsizeMatch(
DetectEngineThreadCtx *det_ctx, Packet *p, const void *pectx)
{
- if (!(PacketIsTCP(p)) || PKT_IS_PSEUDOPKT(p))
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+ if (!(PacketIsTCP(p)))
return;
if (p->flow == NULL || p->flow->protoctx == NULL)
static int DetectAckMatch(DetectEngineThreadCtx *det_ctx,
Packet *p, const Signature *s, const SigMatchCtx *ctx)
{
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
const DetectAckData *data = (const DetectAckData *)ctx;
/* This is only needed on TCP packets */
- if (!(PacketIsTCP(p)) || PKT_IS_PSEUDOPKT(p)) {
+ if (!(PacketIsTCP(p))) {
return 0;
}
static void
PrefilterPacketAckMatch(DetectEngineThreadCtx *det_ctx, Packet *p, const void *pectx)
{
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
const PrefilterPacketHeaderCtx *ctx = pectx;
if (!PrefilterPacketHeaderExtraMatch(ctx, p))
return;
- if (p->proto == IPPROTO_TCP && !(PKT_IS_PSEUDOPKT(p)) && PacketIsTCP(p) &&
+ if (p->proto == IPPROTO_TCP && PacketIsTCP(p) &&
(TCP_GET_RAW_ACK(PacketGetTCP(p)) == ctx->v1.u32[0])) {
SCLogDebug("packet matches TCP ack %u", ctx->v1.u32[0]);
PrefilterAddSids(&det_ctx->pmq, ctx->sigs_array, ctx->sigs_cnt);
{
SCEnter();
- if (!(PacketIsTCP(p)) || PKT_IS_PSEUDOPKT(p)) {
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+ if (!(PacketIsTCP(p))) {
SCReturnInt(0);
}
static void
PrefilterPacketFlagsMatch(DetectEngineThreadCtx *det_ctx, Packet *p, const void *pectx)
{
- if (!(PacketIsTCP(p)) || PKT_IS_PSEUDOPKT(p)) {
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+ if (!(PacketIsTCP(p))) {
SCReturn;
}
{
const DetectSeqData *data = (const DetectSeqData *)ctx;
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
/* This is only needed on TCP packets */
- if (!(PacketIsTCP(p)) || PKT_IS_PSEUDOPKT(p)) {
+ if (!(PacketIsTCP(p))) {
return 0;
}
{
const PrefilterPacketHeaderCtx *ctx = pectx;
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
if (!PrefilterPacketHeaderExtraMatch(ctx, p))
return;
- if (p->proto == IPPROTO_TCP && !(PKT_IS_PSEUDOPKT(p)) && PacketIsTCP(p) &&
+ if (p->proto == IPPROTO_TCP && PacketIsTCP(p) &&
(TCP_GET_RAW_SEQ(PacketGetTCP(p)) == ctx->v1.u32[0])) {
SCLogDebug("packet matches TCP seq %u", ctx->v1.u32[0]);
PrefilterAddSids(&det_ctx->pmq, ctx->sigs_array, ctx->sigs_cnt);
{
const DetectWindowData *wd = (const DetectWindowData *)ctx;
- if (!(PacketIsTCP(p)) || wd == NULL || PKT_IS_PSEUDOPKT(p)) {
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+ if (!(PacketIsTCP(p)) || wd == NULL) {
return 0;
}
static int DetectTcpmssMatch (DetectEngineThreadCtx *det_ctx, Packet *p,
const Signature *s, const SigMatchCtx *ctx)
{
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
- if (!(PacketIsTCP(p)) || PKT_IS_PSEUDOPKT(p))
+ if (!(PacketIsTCP(p)))
return 0;
if (!(TCP_HAS_MSS(p)))
static void
PrefilterPacketTcpmssMatch(DetectEngineThreadCtx *det_ctx, Packet *p, const void *pectx)
{
- if (!(PacketIsTCP(p)) || PKT_IS_PSEUDOPKT(p))
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+ if (!(PacketIsTCP(p)))
return;
if (!(TCP_HAS_MSS(p)))
static int DetectTemplate2Match (DetectEngineThreadCtx *det_ctx, Packet *p,
const Signature *s, const SigMatchCtx *ctx)
{
-
- if (PKT_IS_PSEUDOPKT(p))
- return 0;
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
/* TODO replace this */
uint8_t ptemplate2;
static void
PrefilterPacketTemplate2Match(DetectEngineThreadCtx *det_ctx, Packet *p, const void *pectx)
{
- if (PKT_IS_PSEUDOPKT(p)) {
- SCReturn;
- }
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
uint8_t ptemplate2;
/* TODO update */
const DetectTosData *tosd = (const DetectTosData *)ctx;
int result = 0;
- if (!PacketIsIPv4(p) || PKT_IS_PSEUDOPKT(p)) {
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+ if (!PacketIsIPv4(p)) {
return 0;
}
static int DetectTtlMatch (DetectEngineThreadCtx *det_ctx, Packet *p,
const Signature *s, const SigMatchCtx *ctx)
{
- if (PKT_IS_PSEUDOPKT(p))
- return 0;
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
uint8_t pttl;
if (PacketIsIPv4(p)) {
static void
PrefilterPacketTtlMatch(DetectEngineThreadCtx *det_ctx, Packet *p, const void *pectx)
{
- if (PKT_IS_PSEUDOPKT(p)) {
- SCReturn;
- }
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
uint8_t pttl;
if (PacketIsIPv4(p)) {