Go to the documentation of this file.
44 static int query_buffer_id = 0;
45 static int answer_buffer_id = 0;
46 static int authority_buffer_id = 0;
47 static int additional_buffer_id = 0;
63 return DetectSetup(
de_ctx, s,
str, query_buffer_id);
68 return DetectSetup(
de_ctx, s,
str, answer_buffer_id);
73 return DetectSetup(
de_ctx, s,
str, additional_buffer_id);
78 return DetectSetup(
de_ctx, s,
str, authority_buffer_id);
81 static int Register(
const char *keyword,
const char *desc,
const char *doc,
104 query_buffer_id = Register(
"dns.queries.rrname",
"DNS query rrname sticky buffer",
105 "/rules/dns-keywords.html#dns.queries.rrname", SetupQueryBuffer, SCDnsTxGetQueryName);
106 answer_buffer_id = Register(
"dns.answers.rrname",
"DNS answer rrname sticky buffer",
107 "/rules/dns-keywords.html#dns.answers.rrname", SetupAnswerBuffer, SCDnsTxGetAnswerName);
108 additional_buffer_id =
109 Register(
"dns.additionals.rrname",
"DNS additionals rrname sticky buffer",
110 "/rules/dns-keywords.html#dns-additionals-rrname", SetupAdditionalsBuffer,
111 SCDnsTxGetAdditionalName);
112 authority_buffer_id = Register(
"dns.authorities.rrname",
"DNS authorities rrname sticky buffer",
113 "/rules/dns-keywords.html#dns-authorities-rrname", SetupAuthoritiesBuffer,
114 SCDnsTxGetAuthorityName);
int DetectSignatureSetAppProto(Signature *s, AppProto alproto)
#define SIGMATCH_INFO_STICKY_BUFFER
SigTableElmt * sigmatch_table
int SCDetectHelperNewKeywordId(void)
main detection engine ctx
void DetectBufferTypeSupportsMultiInstance(const char *name)
int SCDetectBufferSetActiveList(DetectEngineCtx *de_ctx, Signature *s, const int list)
#define SIG_FLAG_TOCLIENT
int(* Setup)(DetectEngineCtx *, Signature *, const char *)
int DetectBufferTypeGetByName(const char *name)
#define SIG_FLAG_TOSERVER
void DetectDnsNameRegister(void)
bool(* InspectionMultiBufferGetDataPtr)(struct DetectEngineThreadCtx_ *det_ctx, const void *txv, const uint8_t flow_flags, uint32_t local_id, const uint8_t **buf, uint32_t *buf_len)
void DetectBufferTypeSetDescriptionByName(const char *name, const char *desc)
void DetectAppLayerMultiRegister(const char *name, AppProto alproto, uint32_t dir, int progress, InspectionMultiBufferGetDataPtr GetData, int priority)