diff --git a/dns/transport/local/local.go b/dns/transport/local/local.go index 4e53586d..51badec4 100644 --- a/dns/transport/local/local.go +++ b/dns/transport/local/local.go @@ -54,18 +54,17 @@ func (t *Transport) Close() error { func (t *Transport) Exchange(ctx context.Context, message *mDNS.Msg) (*mDNS.Msg, error) { question := message.Question[0] - domain := dns.FqdnToDomain(question.Name) if question.Qtype == mDNS.TypeA || question.Qtype == mDNS.TypeAAAA { - addresses := t.hosts.Lookup(domain) + addresses := t.hosts.Lookup(dns.FqdnToDomain(question.Name)) if len(addresses) > 0 { return dns.FixedResponse(message.Id, question, addresses, C.DefaultDNSTTL), nil } } systemConfig := getSystemDNSConfig(t.ctx) if systemConfig.singleRequest || !(message.Question[0].Qtype == mDNS.TypeA || message.Question[0].Qtype == mDNS.TypeAAAA) { - return t.exchangeSingleRequest(ctx, systemConfig, message, domain) + return t.exchangeSingleRequest(ctx, systemConfig, message, question.Name) } else { - return t.exchangeParallel(ctx, systemConfig, message, domain) + return t.exchangeParallel(ctx, systemConfig, message, question.Name) } } diff --git a/dns/transport/local/local_fallback.go b/dns/transport/local/local_fallback.go index cd2d198f..1e7e0238 100644 --- a/dns/transport/local/local_fallback.go +++ b/dns/transport/local/local_fallback.go @@ -67,7 +67,6 @@ func (f *FallbackTransport) Exchange(ctx context.Context, message *mDNS.Msg) (*m return f.DNSTransport.Exchange(ctx, message) } question := message.Question[0] - domain := dns.FqdnToDomain(question.Name) if question.Qtype == mDNS.TypeA || question.Qtype == mDNS.TypeAAAA { var network string if question.Qtype == mDNS.TypeA { @@ -75,7 +74,7 @@ func (f *FallbackTransport) Exchange(ctx context.Context, message *mDNS.Msg) (*m } else { network = "ip6" } - addresses, err := f.resolver.LookupNetIP(ctx, network, domain) + addresses, err := f.resolver.LookupNetIP(ctx, network, question.Name) if err != nil { var dnsError *net.DNSError if errors.As(err, &dnsError) && dnsError.IsNotFound { @@ -85,7 +84,7 @@ func (f *FallbackTransport) Exchange(ctx context.Context, message *mDNS.Msg) (*m } return dns.FixedResponse(message.Id, question, addresses, C.DefaultDNSTTL), nil } else if question.Qtype == mDNS.TypeNS { - records, err := f.resolver.LookupNS(ctx, domain) + records, err := f.resolver.LookupNS(ctx, question.Name) if err != nil { var dnsError *net.DNSError if errors.As(err, &dnsError) && dnsError.IsNotFound { @@ -114,7 +113,7 @@ func (f *FallbackTransport) Exchange(ctx context.Context, message *mDNS.Msg) (*m } return response, nil } else if question.Qtype == mDNS.TypeCNAME { - cname, err := f.resolver.LookupCNAME(ctx, domain) + cname, err := f.resolver.LookupCNAME(ctx, question.Name) if err != nil { var dnsError *net.DNSError if errors.As(err, &dnsError) && dnsError.IsNotFound { @@ -142,7 +141,7 @@ func (f *FallbackTransport) Exchange(ctx context.Context, message *mDNS.Msg) (*m }, }, nil } else if question.Qtype == mDNS.TypeTXT { - records, err := f.resolver.LookupTXT(ctx, domain) + records, err := f.resolver.LookupTXT(ctx, question.Name) if err != nil { var dnsError *net.DNSError if errors.As(err, &dnsError) && dnsError.IsNotFound { @@ -170,7 +169,7 @@ func (f *FallbackTransport) Exchange(ctx context.Context, message *mDNS.Msg) (*m }, }, nil } else if question.Qtype == mDNS.TypeMX { - records, err := f.resolver.LookupMX(ctx, domain) + records, err := f.resolver.LookupMX(ctx, question.Name) if err != nil { var dnsError *net.DNSError if errors.As(err, &dnsError) && dnsError.IsNotFound {