From bddb2c3bdcf7698075901200f0df3f984cff2e93 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Thu, 15 May 2014 11:14:54 +0200 Subject: [PATCH] dns json: log TXT response data Log TXT data in the rdata field. --- src/output-json-dns.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/output-json-dns.c b/src/output-json-dns.c index e9e579009c..6939027941 100644 --- a/src/output-json-dns.c +++ b/src/output-json-dns.c @@ -179,6 +179,17 @@ static void OutputAnswer(LogDnsLogThread *aft, json_t *djs, DNSTransaction *tx, json_object_set_new(js, "rdata", json_string(a)); } else if (entry->data_len == 0) { json_object_set_new(js, "rdata", json_string("")); + } else if (entry->type == DNS_RECORD_TYPE_TXT) { + if (entry->data_len != 0) { + char buffer[256] = ""; + uint16_t copy_len = entry->data_len < (sizeof(buffer) - 1) ? + entry->data_len : sizeof(buffer) - 1; + memcpy(buffer, ptr, copy_len); + buffer[copy_len] = '\0'; + json_object_set_new(js, "rdata", json_string(buffer)); + } else { + json_object_set_new(js, "rdata", json_string("")); + } } }