From 652e27d3ce23cdf4fbb9969122b1d0a1b9a8fe7c Mon Sep 17 00:00:00 2001 From: Vladimir Stoilov Date: Thu, 21 Jul 2022 15:29:37 +0200 Subject: [PATCH] Minor fixes --- resolver/resolver-https.go | 18 ++++++------------ resolver/resolvers.go | 7 ++++--- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/resolver/resolver-https.go b/resolver/resolver-https.go index 14e4eb58..f81d9930 100644 --- a/resolver/resolver-https.go +++ b/resolver/resolver-https.go @@ -39,20 +39,15 @@ func (tq *HTTPSQuery) MakeCacheRecord(reply *dns.Msg, resolverInfo *ResolverInfo // NewHTTPSResolver returns a new HTTPSResolver. func NewHTTPSResolver(resolver *Resolver) *HTTPSResolver { - tr := &http.Transport{} - - if resolver.Info.IP != nil { - tr = &http.Transport{ - TLSClientConfig: &tls.Config{ - MinVersion: tls.VersionTLS12, - ServerName: resolver.Info.Domain, - // TODO: use portbase rng - }, - } + tr := &http.Transport{ + TLSClientConfig: &tls.Config{ + MinVersion: tls.VersionTLS12, + ServerName: resolver.Info.Domain, + // TODO: use portbase rng + }, } client := &http.Client{Transport: tr} - newResolver := &HTTPSResolver{ BasicResolverConn: BasicResolverConn{ resolver: resolver, @@ -85,7 +80,6 @@ func (hr *HTTPSResolver) Query(ctx context.Context, q *Query) (*RRCache, error) } request, err := http.NewRequestWithContext(ctx, http.MethodGet, url.String(), nil) - if err != nil { return nil, err } diff --git a/resolver/resolvers.go b/resolver/resolvers.go index 96831657..5ad63380 100644 --- a/resolver/resolvers.go +++ b/resolver/resolvers.go @@ -182,7 +182,6 @@ func createResolver(resolverURL, source string) (*Resolver, bool, error) { } func checkAndSetResolverParamters(u *url.URL, resolver *Resolver) error { - // Check if we are using domain name and if it's in a valid scheme ip := net.ParseIP(u.Hostname()) hostnameIsDomaion := (ip == nil) @@ -220,7 +219,6 @@ func checkAndSetResolverParamters(u *url.URL, resolver *Resolver) error { paramterServerIP := query.Get(parameterIP) if u.Scheme == ServerTypeDoT || u.Scheme == ServerTypeDoH { - // Check if IP and Domain are set correctly switch { case hostnameIsDomaion && resolver.Info.Domain != "": @@ -244,7 +242,10 @@ func checkAndSetResolverParamters(u *url.URL, resolver *Resolver) error { resolver.ServerAddress = net.JoinHostPort(resolver.Info.Domain, strconv.Itoa(int(port))) } - resolverInitDomains[dns.Fqdn(resolver.Info.Domain)] = struct{}{} + if ip == nil { + resolverInitDomains[dns.Fqdn(resolver.Info.Domain)] = struct{}{} + } + } else { if resolver.Info.Domain != "" { return fmt.Errorf("domain verification is only supported by DoT and DoH servers")