Minor fixes

This commit is contained in:
Vladimir Stoilov 2022-07-21 15:29:37 +02:00
parent 8ca384a13d
commit 652e27d3ce
2 changed files with 10 additions and 15 deletions

View file

@ -39,20 +39,15 @@ func (tq *HTTPSQuery) MakeCacheRecord(reply *dns.Msg, resolverInfo *ResolverInfo
// NewHTTPSResolver returns a new HTTPSResolver. // NewHTTPSResolver returns a new HTTPSResolver.
func NewHTTPSResolver(resolver *Resolver) *HTTPSResolver { func NewHTTPSResolver(resolver *Resolver) *HTTPSResolver {
tr := &http.Transport{} tr := &http.Transport{
TLSClientConfig: &tls.Config{
if resolver.Info.IP != nil { MinVersion: tls.VersionTLS12,
tr = &http.Transport{ ServerName: resolver.Info.Domain,
TLSClientConfig: &tls.Config{ // TODO: use portbase rng
MinVersion: tls.VersionTLS12, },
ServerName: resolver.Info.Domain,
// TODO: use portbase rng
},
}
} }
client := &http.Client{Transport: tr} client := &http.Client{Transport: tr}
newResolver := &HTTPSResolver{ newResolver := &HTTPSResolver{
BasicResolverConn: BasicResolverConn{ BasicResolverConn: BasicResolverConn{
resolver: resolver, 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) request, err := http.NewRequestWithContext(ctx, http.MethodGet, url.String(), nil)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View file

@ -182,7 +182,6 @@ func createResolver(resolverURL, source string) (*Resolver, bool, error) {
} }
func checkAndSetResolverParamters(u *url.URL, resolver *Resolver) error { func checkAndSetResolverParamters(u *url.URL, resolver *Resolver) error {
// Check if we are using domain name and if it's in a valid scheme // Check if we are using domain name and if it's in a valid scheme
ip := net.ParseIP(u.Hostname()) ip := net.ParseIP(u.Hostname())
hostnameIsDomaion := (ip == nil) hostnameIsDomaion := (ip == nil)
@ -220,7 +219,6 @@ func checkAndSetResolverParamters(u *url.URL, resolver *Resolver) error {
paramterServerIP := query.Get(parameterIP) paramterServerIP := query.Get(parameterIP)
if u.Scheme == ServerTypeDoT || u.Scheme == ServerTypeDoH { if u.Scheme == ServerTypeDoT || u.Scheme == ServerTypeDoH {
// Check if IP and Domain are set correctly // Check if IP and Domain are set correctly
switch { switch {
case hostnameIsDomaion && resolver.Info.Domain != "": 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))) 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 { } else {
if resolver.Info.Domain != "" { if resolver.Info.Domain != "" {
return fmt.Errorf("domain verification is only supported by DoT and DoH servers") return fmt.Errorf("domain verification is only supported by DoT and DoH servers")