dinoco

Query DNS records
git clone git://git.relim.de/dinoco.git
Log | Files | Refs | README | LICENSE

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:
Mdinoco.c | 19+++++++++++++++++++
Mdinoco.h | 6++++++
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; };