feat(client): Add support for PTR DNS records (#886)

Co-authored-by: TwiN <twin@linux.com>
This commit is contained in:
Martin Stone 2024-11-28 23:21:44 +00:00 committed by GitHub
parent 2fe991319e
commit 29cbff6774
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 0 deletions

View File

@ -321,6 +321,10 @@ func QueryDNS(queryType, queryName, url string) (connected bool, dnsRcode string
if ns, ok := rr.(*dns.NS); ok { if ns, ok := rr.(*dns.NS); ok {
body = []byte(ns.Ns) body = []byte(ns.Ns)
} }
case dns.TypePTR:
if ptr, ok := rr.(*dns.PTR); ok {
body = []byte(ptr.Ptr)
}
default: default:
body = []byte("query type is not supported yet") body = []byte("query type is not supported yet")
} }

View File

@ -396,6 +396,16 @@ func TestQueryDNS(t *testing.T) {
expectedDNSCode: "NOERROR", expectedDNSCode: "NOERROR",
expectedBody: "*.iana-servers.net.", expectedBody: "*.iana-servers.net.",
}, },
{
name: "test Config with type PTR",
inputDNS: dns.Config{
QueryType: "PTR",
QueryName: "8.8.8.8.in-addr.arpa.",
},
inputURL: "8.8.8.8",
expectedDNSCode: "NOERROR",
expectedBody: "dns.google.",
},
{ {
name: "test Config with fake type and retrieve error", name: "test Config with fake type and retrieve error",
inputDNS: dns.Config{ inputDNS: dns.Config{