commit d06610f163ae5c132b0b45915192792b4e911a36
parent db92a295e87a97dce8b18cab227de7d9d3c53d0d
Author: Nibo <kroekerrobin@gmail.com>
Date: Sat, 24 Jun 2023 21:09:01 +0200
Add support for PTR DNS records
Diffstat:
2 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/dinoco.c b/dinoco.c
@@ -441,6 +441,9 @@ union dns_type_result *parseAnswerByType
case TYPE_WKS:
break;
case TYPE_PTR:
+ ur->ptr = malloc(sizeof(struct dns_ptr_result));
+ int startOfPTRDomain = *startOfNextAnswer - answer->rdlength;
+ ur->ptr->domain = parseDomain(res, startOfPTRDomain);
break;
case TYPE_HINFO:
break;
@@ -595,6 +598,22 @@ void printAnswers
case TYPE_WKS:
break;
case TYPE_PTR:
+ if (!disableHeader)
+ {
+ printf(ANSI_COLOR_GREEN);
+ printf("Domain Name\n");
+ printf(ANSI_COLOR_RESET);
+ }
+ for (int i=0; i<answerCount; i++)
+ {
+ printf("%s\n", answers[i]->ptr->domain);
+ }
+ for (int i=0; i<answerCount; i++)
+ {
+ free(answers[i]->ptr->domain);
+ free(answers[i]->ptr);
+ free(answers[i]);
+ }
break;
case TYPE_HINFO:
break;
diff --git a/dinoco.h b/dinoco.h
@@ -148,6 +148,11 @@ struct dns_soa_result
uint32_t minimum;
};
+struct dns_ptr_result
+{
+ char *domain;
+};
+
union dns_type_result
{
struct dns_mx_result *mx;
@@ -156,4 +161,5 @@ union dns_type_result
struct dns_cname_result *cname;
struct dns_txt_result *txt;
struct dns_soa_result *soa;
+ struct dns_ptr_result *ptr;
};