detect-engine: add DetectEngineCtx to setup callback function

Add detect engine context as variable to setup callback function
in 'DetectBufferTypeRegisterSetupCallback'.
pull/3368/head
Mats Klepsland 8 years ago committed by Victor Julien
parent 48a5ea9df0
commit 321603de37

@ -764,7 +764,7 @@ bool DetectBufferTypeSupportsMpmGetById(const DetectEngineCtx *de_ctx, const int
}
void DetectBufferTypeRegisterSetupCallback(const char *name,
void (*SetupCallback)(Signature *))
void (*SetupCallback)(const DetectEngineCtx *, Signature *))
{
BUG_ON(g_buffer_type_reg_closed);
DetectBufferTypeRegister(name);
@ -778,7 +778,7 @@ void DetectBufferRunSetupCallback(const DetectEngineCtx *de_ctx,
{
const DetectBufferType *map = DetectBufferTypeGetById(de_ctx, id);
if (map && map->SetupCallback) {
map->SetupCallback(s);
map->SetupCallback(de_ctx, s);
}
}

@ -46,7 +46,7 @@ void DetectBufferTypeCloseRegistration(void);
void DetectBufferTypeSetDescriptionByName(const char *name, const char *desc);
const char *DetectBufferTypeGetDescriptionByName(const char *name);
void DetectBufferTypeRegisterSetupCallback(const char *name,
void (*Callback)(Signature *));
void (*Callback)(const DetectEngineCtx *, Signature *));
void DetectBufferTypeRegisterValidateCallback(const char *name,
_Bool (*ValidateCallback)(const Signature *, const char **sigerror));

@ -51,7 +51,8 @@
static int DetectFiledataSetup (DetectEngineCtx *, Signature *, const char *);
static void DetectFiledataRegisterTests(void);
static void DetectFiledataSetupCallback(Signature *s);
static void DetectFiledataSetupCallback(const DetectEngineCtx *de_ctx,
Signature *s);
static int g_file_data_buffer_id = 0;
/**
@ -174,7 +175,8 @@ static int DetectFiledataSetup (DetectEngineCtx *de_ctx, Signature *s, const cha
return 0;
}
static void DetectFiledataSetupCallback(Signature *s)
static void DetectFiledataSetupCallback(const DetectEngineCtx *de_ctx,
Signature *s)
{
if (s->alproto == ALPROTO_HTTP || s->alproto == ALPROTO_UNKNOWN) {
AppLayerHtpEnableRequestBodyCallback();

@ -61,7 +61,8 @@
static int DetectHttpClientBodySetup(DetectEngineCtx *, Signature *, const char *);
static void DetectHttpClientBodyRegisterTests(void);
static void DetectHttpClientBodyFree(void *);
static void DetectHttpClientBodySetupCallback(Signature *s);
static void DetectHttpClientBodySetupCallback(const DetectEngineCtx *de_ctx,
Signature *s);
static int g_http_client_body_buffer_id = 0;
/**
@ -95,7 +96,8 @@ void DetectHttpClientBodyRegister(void)
g_http_client_body_buffer_id = DetectBufferTypeGetByName("http_client_body");
}
static void DetectHttpClientBodySetupCallback(Signature *s)
static void DetectHttpClientBodySetupCallback(const DetectEngineCtx *de_ctx,
Signature *s)
{
SCLogDebug("callback invoked by %u", s->id);
AppLayerHtpEnableRequestBodyCallback();

@ -58,7 +58,8 @@
static int DetectHttpRawUriSetup(DetectEngineCtx *, Signature *, const char *);
static void DetectHttpRawUriRegisterTests(void);
static void DetectHttpRawUriSetupCallback(Signature *s);
static void DetectHttpRawUriSetupCallback(const DetectEngineCtx *de_ctx,
Signature *s);
static bool DetectHttpRawUriValidateCallback(const Signature *s, const char **);
static int g_http_raw_uri_buffer_id = 0;
@ -118,7 +119,8 @@ static bool DetectHttpRawUriValidateCallback(const Signature *s, const char **si
return DetectUrilenValidateContent(s, g_http_raw_uri_buffer_id, sigerror);
}
static void DetectHttpRawUriSetupCallback(Signature *s)
static void DetectHttpRawUriSetupCallback(const DetectEngineCtx *de_ctx,
Signature *s)
{
SCLogDebug("callback invoked by %u", s->id);
DetectUrilenApplyToContent(s, g_http_raw_uri_buffer_id);

@ -58,7 +58,8 @@
#include "stream-tcp.h"
static void DetectHttpUriRegisterTests(void);
static void DetectHttpUriSetupCallback(Signature *s);
static void DetectHttpUriSetupCallback(const DetectEngineCtx *de_ctx,
Signature *s);
static bool DetectHttpUriValidateCallback(const Signature *s, const char **sigerror);
static int g_http_uri_buffer_id = 0;
@ -122,7 +123,8 @@ static bool DetectHttpUriValidateCallback(const Signature *s, const char **siger
return DetectUrilenValidateContent(s, g_http_uri_buffer_id, sigerror);
}
static void DetectHttpUriSetupCallback(Signature *s)
static void DetectHttpUriSetupCallback(const DetectEngineCtx *de_ctx,
Signature *s)
{
SCLogDebug("callback invoked by %u", s->id);
DetectUrilenApplyToContent(s, g_http_uri_buffer_id);

@ -421,7 +421,7 @@ typedef struct DetectBufferType_ {
_Bool mpm;
_Bool packet; /**< compat to packet matches */
bool supports_transforms;
void (*SetupCallback)(struct Signature_ *);
void (*SetupCallback)(const struct DetectEngineCtx_ *, struct Signature_ *);
bool (*ValidateCallback)(const struct Signature_ *, const char **sigerror);
DetectEngineTransforms transforms;
} DetectBufferType;

Loading…
Cancel
Save