60 static void DetectTlsCertsRegisterTests(
void);
71 static int g_tls_certs_buffer_id = 0;
101 DetectEngineInspectTlsCerts, NULL);
151 if (cbdata->
cert == NULL) {
157 if (cbdata->
cert == NULL) {
185 if (buffer == NULL || buffer->
inspect == NULL)
193 NULL, f, (uint8_t *)buffer->
inspect,
208 const void *pectx,
Packet *p,
Flow *f,
void *txv,
209 const uint64_t idx,
const uint8_t
flags)
215 const int list_id = ctx->
list_id;
222 f, &cbdata, list_id);
236 static void PrefilterMpmTlsCertsFree(
void *ptr)
254 mpm_reg->
app_v2.alproto, mpm_reg->
app_v2.tx_min_progress,
255 pectx, PrefilterMpmTlsCertsFree, mpm_reg->
name);
SigTableElmt sigmatch_table[DETECT_TBLSIZE]
int(* Setup)(DetectEngineCtx *, Signature *, const char *)
int DetectSignatureSetAppProto(Signature *s, AppProto alproto)
#define TAILQ_FIRST(head)
struct PrefilterMpmTlsCerts PrefilterMpmTlsCerts
struct HtpBodyChunk_ * next
struct DetectEngineAppInspectionEngine_::@93 v2
uint16_t discontinue_matching
DetectEngineTransforms transforms
struct DetectBufferMpmRegistery_::@95::@97 app_v2
SSLStateConnp server_connp
Container for matching data for a signature group.
void DetectAppLayerMpmRegister2(const char *name, int direction, int priority, int(*PrefilterRegister)(DetectEngineCtx *de_ctx, SigGroupHead *sgh, MpmCtx *mpm_ctx, const DetectBufferMpmRegistery *mpm_reg, int list_id), InspectionBufferGetDataPtr GetData, AppProto alproto, int tx_min_progress)
register a MPM engine
main detection engine ctx
const DetectEngineTransforms * transforms
SSLv[2.0|3.[0|1|2|3]] state structure.
int DetectBufferTypeGetByName(const char *name)
#define SIG_FLAG_TOCLIENT
#define SIGMATCH_INFO_STICKY_BUFFER
#define DETECT_ENGINE_INSPECT_SIG_MATCH
one time registration of keywords at start up
void DetectAppLayerInspectEngineRegister2(const char *name, AppProto alproto, uint32_t dir, int progress, InspectEngineFuncPtr2 Callback2, InspectionBufferGetDataPtr GetData)
register inspect engine at start up time
void DetectTlsCertsRegister(void)
Registration function for keyword: tls.certs.
#define DETECT_ENGINE_INSPECT_SIG_NO_MATCH
MpmTableElmt mpm_table[MPM_TABLE_SIZE]
void InspectionBufferSetup(InspectionBuffer *buffer, const uint8_t *data, const uint32_t data_len)
setup the buffer with our initial data
void InspectionBufferApplyTransforms(InspectionBuffer *buffer, const DetectEngineTransforms *transforms)
int DetectEngineContentInspection(DetectEngineCtx *de_ctx, DetectEngineThreadCtx *det_ctx, const Signature *s, const SigMatchData *smd, Packet *p, Flow *f, const uint8_t *buffer, uint32_t buffer_len, uint32_t stream_start_offset, uint8_t flags, uint8_t inspection_mode)
Run the actual payload match functions.
#define SCReturnPtr(x, type)
InspectionBufferMultipleForList * InspectionBufferGetMulti(DetectEngineThreadCtx *det_ctx, const int list_id)
int inspection_recursion_counter
#define DETECT_CI_FLAGS_SINGLE
int DetectBufferSetActiveList(Signature *s, const int list)
void DetectBufferTypeSetDescriptionByName(const char *name, const char *desc)
#define TAILQ_NEXT(elm, field)
uint32_t(* Search)(const struct MpmCtx_ *, struct MpmThreadCtx_ *, PrefilterRuleStore *, const uint8_t *, uint32_t)
#define TAILQ_EMPTY(head)
int PrefilterAppendTxEngine(DetectEngineCtx *de_ctx, SigGroupHead *sgh, void(*PrefilterTxFunc)(DetectEngineThreadCtx *det_ctx, const void *pectx, Packet *p, Flow *f, void *tx, const uint64_t idx, const uint8_t flags), AppProto alproto, int tx_min_progress, void *pectx, void(*FreeFunc)(void *pectx), const char *name)
InspectionBuffer * InspectionBufferMultipleForListGet(InspectionBufferMultipleForList *fb, uint32_t local_id)
for a InspectionBufferMultipleForList get a InspectionBuffer
void(* RegisterTests)(void)
const DetectEngineTransforms * transforms