summaryrefslogtreecommitdiff
path: root/internal/resolver/resolver.go
diff options
context:
space:
mode:
authorradhitya <alif@radhitya.org>2026-06-23 05:36:25 +0700
committerradhitya <alif@radhitya.org>2026-06-23 05:36:25 +0700
commit2c61900dd5efd81a5351513a20fa65580c8a6616 (patch)
tree61bdd1abb0d4fead3d04197404f731f831b1b548 /internal/resolver/resolver.go
parent786e88a56f1445b31f194920d832dd037bd2a2d1 (diff)
make if error for unsupported query type
Diffstat (limited to 'internal/resolver/resolver.go')
-rw-r--r--internal/resolver/resolver.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/internal/resolver/resolver.go b/internal/resolver/resolver.go
index c7a0694..3cdf846 100644
--- a/internal/resolver/resolver.go
+++ b/internal/resolver/resolver.go
@@ -11,8 +11,9 @@ import (
)
var (
- ErrMaxDelegations = errors.New("max delegations exceeded")
- ErrNoServers = errors.New("no nameservers available")
+ ErrMaxDelegations = errors.New("max delegations exceeded")
+ ErrNoServers = errors.New("no nameservers available")
+ ErrUnsupportedType = errors.New("unsupported query type")
)
type Resolver struct {
@@ -251,6 +252,9 @@ func (r *Resolver) exchangeWithRetries(ctx context.Context, servers []string,
qname string, qtype uint16, rd bool) (*dns.Msg, error) {
msg := dns.NewMsg(qname, qtype)
+ if msg == nil {
+ return nil, fmt.Errorf("%w %d for %s", ErrUnsupportedType, qtype, qname)
+ }
msg.UDPSize = 4096
msg.RecursionDesired = rd