|
|
|
|
@ -71,30 +71,60 @@ typedef struct LogDnsLogThread_ {
|
|
|
|
|
} LogDnsLogThread;
|
|
|
|
|
|
|
|
|
|
static void CreateTypeString(uint16_t type, char *str, size_t str_size) {
|
|
|
|
|
if (type == DNS_RECORD_TYPE_A) {
|
|
|
|
|
snprintf(str, str_size, "A");
|
|
|
|
|
} else if (type == DNS_RECORD_TYPE_NS) {
|
|
|
|
|
snprintf(str, str_size, "NS");
|
|
|
|
|
} else if (type == DNS_RECORD_TYPE_AAAA) {
|
|
|
|
|
snprintf(str, str_size, "AAAA");
|
|
|
|
|
} else if (type == DNS_RECORD_TYPE_TXT) {
|
|
|
|
|
snprintf(str, str_size, "TXT");
|
|
|
|
|
} else if (type == DNS_RECORD_TYPE_CNAME) {
|
|
|
|
|
snprintf(str, str_size, "CNAME");
|
|
|
|
|
} else if (type == DNS_RECORD_TYPE_SOA) {
|
|
|
|
|
snprintf(str, str_size, "SOA");
|
|
|
|
|
} else if (type == DNS_RECORD_TYPE_MX) {
|
|
|
|
|
snprintf(str, str_size, "MX");
|
|
|
|
|
} else if (type == DNS_RECORD_TYPE_PTR) {
|
|
|
|
|
snprintf(str, str_size, "PTR");
|
|
|
|
|
} else if (type == DNS_RECORD_TYPE_ANY) {
|
|
|
|
|
snprintf(str, str_size, "ANY");
|
|
|
|
|
} else if (type == DNS_RECORD_TYPE_TKEY) {
|
|
|
|
|
snprintf(str, str_size, "TKEY");
|
|
|
|
|
} else if (type == DNS_RECORD_TYPE_TSIG) {
|
|
|
|
|
snprintf(str, str_size, "TSIG");
|
|
|
|
|
} else {
|
|
|
|
|
snprintf(str, str_size, "%04x/%u", type, type);
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|