Go to the documentation of this file.
37 static int g_sctphdr_buffer_id = 0;
51 BUG_ON(g_sctphdr_buffer_id < 0);
88 if (!PacketIsSCTP(
p)) {
94 const SCTPHdr *sctph = PacketGetSCTP(
p);
96 if (((uint8_t *)sctph + (ptrdiff_t)hlen) >
98 SCLogDebug(
"data out of range: %p > %p", ((uint8_t *)sctph + (ptrdiff_t)hlen),
103 const uint32_t data_len = hlen;
104 const uint8_t *data = (
const uint8_t *)sctph;
107 det_ctx, list_id, buffer, data, data_len, transforms);
int PrefilterGenericMpmPktRegister(DetectEngineCtx *de_ctx, SigGroupHead *sgh, MpmCtx *mpm_ctx, const DetectBufferMpmRegistry *mpm_reg, int list_id)
SigTableElmt * sigmatch_table
InspectionBuffer * SCInspectionBufferGet(DetectEngineThreadCtx *det_ctx, const int list_id)
void DetectPktMpmRegister(const char *name, int priority, int(*PrefilterRegister)(DetectEngineCtx *de_ctx, SigGroupHead *sgh, MpmCtx *mpm_ctx, const DetectBufferMpmRegistry *mpm_reg, int list_id), InspectionBufferGetPktDataPtr GetData)
register a MPM engine
main detection engine ctx
void SCInspectionBufferSetupAndApplyTransforms(DetectEngineThreadCtx *det_ctx, const int list_id, InspectionBuffer *buffer, const uint8_t *data, const uint32_t data_len, const DetectEngineTransforms *transforms)
setup the buffer with our initial data
int SCDetectBufferSetActiveList(DetectEngineCtx *de_ctx, Signature *s, const int list)
int(* Setup)(DetectEngineCtx *, Signature *, const char *)
void DetectBufferTypeSupportsPacket(const char *name)
void DetectPktInspectEngineRegister(const char *name, InspectionBufferGetPktDataPtr GetPktData, InspectionBufferPktInspectFunc Callback)
register inspect engine at start up time
#define SCReturnPtr(x, type)
void DetectSCTPHdrRegister(void)
int DetectBufferTypeRegister(const char *name)
#define SIGMATCH_INFO_STICKY_BUFFER
int DetectEngineInspectPktBufferGeneric(DetectEngineThreadCtx *det_ctx, const DetectEnginePktInspectionEngine *engine, const Signature *s, Packet *p, uint8_t *_alert_flags)
Do the content inspection & validation for a signature.
union PacketL4::L4Vars vars
int DetectProtoContainsProto(const DetectProto *dp, int proto)
see if a DetectProto contains a certain proto
#define SIG_FLAG_REQUIRE_PACKET