|
|
@ -217,16 +217,23 @@ static int JsonDnsLogger(ThreadVars *tv, void *thread_data, const Packet *p, Flo
|
|
|
|
|
|
|
|
|
|
|
|
LogDnsLogThread *td = (LogDnsLogThread *)thread_data;
|
|
|
|
LogDnsLogThread *td = (LogDnsLogThread *)thread_data;
|
|
|
|
DNSTransaction *tx = txptr;
|
|
|
|
DNSTransaction *tx = txptr;
|
|
|
|
|
|
|
|
json_t *js;
|
|
|
|
|
|
|
|
|
|
|
|
json_t *js = CreateJSONHeader((Packet *)p, 1, "dns");//TODO const
|
|
|
|
DNSQueryEntry *query = NULL;
|
|
|
|
|
|
|
|
TAILQ_FOREACH(query, &tx->query_list, next) {
|
|
|
|
|
|
|
|
js = CreateJSONHeader((Packet *)p, 1, "dns");
|
|
|
|
if (unlikely(js == NULL))
|
|
|
|
if (unlikely(js == NULL))
|
|
|
|
return TM_ECODE_OK;
|
|
|
|
return TM_ECODE_OK;
|
|
|
|
|
|
|
|
|
|
|
|
DNSQueryEntry *query = NULL;
|
|
|
|
|
|
|
|
TAILQ_FOREACH(query, &tx->query_list, next) {
|
|
|
|
|
|
|
|
LogQuery(td, js, tx, query);
|
|
|
|
LogQuery(td, js, tx, query);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
json_decref(js);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js = CreateJSONHeader((Packet *)p, 0, "dns");
|
|
|
|
|
|
|
|
if (unlikely(js == NULL))
|
|
|
|
|
|
|
|
return TM_ECODE_OK;
|
|
|
|
|
|
|
|
|
|
|
|
LogAnswers(td, js, tx);
|
|
|
|
LogAnswers(td, js, tx);
|
|
|
|
|
|
|
|
|
|
|
|
json_decref(js);
|
|
|
|
json_decref(js);
|
|
|
|