|
|
|
|
@ -70,64 +70,6 @@ typedef struct LogDnsLogThread_ {
|
|
|
|
|
MemBuffer *buffer;
|
|
|
|
|
} LogDnsLogThread;
|
|
|
|
|
|
|
|
|
|
static void CreateTypeString(uint16_t type, char *str, size_t str_size) {
|
|
|
|
|
switch (type) {
|
|
|
|
|
case DNS_RECORD_TYPE_A:
|
|
|
|
|
snprintf(str, str_size, "A");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_NS:
|
|
|
|
|
snprintf(str, str_size, "NS");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_AAAA:
|
|
|
|
|
snprintf(str, str_size, "AAAA");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_TXT:
|
|
|
|
|
snprintf(str, str_size, "TXT");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_CNAME:
|
|
|
|
|
snprintf(str, str_size, "CNAME");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_SOA:
|
|
|
|
|
snprintf(str, str_size, "SOA");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_MX:
|
|
|
|
|
snprintf(str, str_size, "MX");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_PTR:
|
|
|
|
|
snprintf(str, str_size, "PTR");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_ANY:
|
|
|
|
|
snprintf(str, str_size, "ANY");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_TKEY:
|
|
|
|
|
snprintf(str, str_size, "TKEY");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_TSIG:
|
|
|
|
|
snprintf(str, str_size, "TSIG");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_SRV:
|
|
|
|
|
snprintf(str, str_size, "SRV");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_NAPTR:
|
|
|
|
|
snprintf(str, str_size, "NAPTR");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_DS:
|
|
|
|
|
snprintf(str, str_size, "DS");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_RRSIG:
|
|
|
|
|
snprintf(str, str_size, "RRSIG");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_NSEC:
|
|
|
|
|
snprintf(str, str_size, "NSEC");
|
|
|
|
|
break;
|
|
|
|
|
case DNS_RECORD_TYPE_NSEC3:
|
|
|
|
|
snprintf(str, str_size, "NSEC3");
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
snprintf(str, str_size, "%04x/%u", type, type);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void LogQuery(LogDnsLogThread *aft, json_t *js, DNSTransaction *tx, DNSQueryEntry *entry) {
|
|
|
|
|
MemBuffer *buffer = (MemBuffer *)aft->buffer;
|
|
|
|
|
|
|
|
|
|
@ -157,7 +99,7 @@ static void LogQuery(LogDnsLogThread *aft, json_t *js, DNSTransaction *tx, DNSQu
|
|
|
|
|
|
|
|
|
|
/* name */
|
|
|
|
|
char record[16] = "";
|
|
|
|
|
CreateTypeString(entry->type, record, sizeof(record));
|
|
|
|
|
DNSCreateTypeString(entry->type, record, sizeof(record));
|
|
|
|
|
json_object_set_new(djs, "rrtype", json_string(record));
|
|
|
|
|
|
|
|
|
|
/* dns */
|
|
|
|
|
@ -192,7 +134,7 @@ static void OutputAnswer(LogDnsLogThread *aft, json_t *djs, DNSTransaction *tx,
|
|
|
|
|
|
|
|
|
|
/* name */
|
|
|
|
|
char record[16] = "";
|
|
|
|
|
CreateTypeString(entry->type, record, sizeof(record));
|
|
|
|
|
DNSCreateTypeString(entry->type, record, sizeof(record));
|
|
|
|
|
json_object_set_new(js, "rrtype", json_string(record));
|
|
|
|
|
|
|
|
|
|
/* ttl */
|
|
|
|
|
|