34 static int detect_buffer_id = 0;
71 int list_id,
bool get_rdata)
82 const uint8_t *data = NULL;
83 uint32_t data_len = 0;
89 if (!SCDnsTxGetAnswerRdata(txv, cbdata->
response_id, &data, &data_len)) {
95 if (!SCDnsTxGetAuthorityRdata(txv, cbdata->
response_id, &data, &data_len)) {
101 if (!SCDnsTxGetAdditionalRdata(txv, cbdata->
response_id, &data, &data_len)) {
114 if (!SCDnsTxGetQueryName(
115 det_ctx, txv, STREAM_TOCLIENT, cbdata->
response_id, &data, &data_len)) {
121 if (!SCDnsTxGetAnswerName(
122 det_ctx, txv, STREAM_TOCLIENT, cbdata->
response_id, &data, &data_len)) {
128 if (!SCDnsTxGetAuthorityName(
129 det_ctx, txv, 0, cbdata->
response_id, &data, &data_len)) {
135 if (!SCDnsTxGetAdditionalName(
136 det_ctx, txv, 0, cbdata->
response_id, &data, &data_len)) {
157 uint32_t response_id = 0;
165 GetBuffer(det_ctx,
flags, transforms, txv, &cbdata, engine->
sm_list,
false);
166 if (buffer == NULL || buffer->
inspect == NULL) {
185 buffer = GetBuffer(det_ctx,
flags, transforms, txv, &cbdata, engine->
sm_list,
true);
186 if (buffer == NULL || buffer->
inspect == NULL) {
207 const int list_id =
ctx->list_id;
215 GetBuffer(det_ctx,
flags,
ctx->transforms, txv, &cbdata, list_id,
false);
216 if (buffer == NULL) {
236 buffer = GetBuffer(det_ctx,
flags,
ctx->transforms, txv, &cbdata, list_id,
true);
237 if (buffer == NULL) {
255 uint8_t
flags,
void *alstate,
void *txv, uint64_t tx_id)
271 ret_match = CheckSectionRecords(
288 CheckSectionRecordsPrefilter(det_ctx, pectx, txv,
flags, &
local_id, section);
292 static void DetectDnsResponsePrefilterMpmFree(
void *ptr)
309 mpm_reg->
app_v2.alproto, mpm_reg->
app_v2.tx_min_progress, pectx,
310 DetectDnsResponsePrefilterMpmFree, mpm_reg->
pname);
315 static const char *keyword =
"dns.response.rrname";