Initial DNS IP is ipv4/6 depending on DOT_IPV6

This commit is contained in:
Quentin McGaw
2020-05-02 15:41:28 +00:00
parent 7cd35737ba
commit c068484fa0

View File

@@ -396,7 +396,15 @@ func setupUnbound(ctx context.Context, logger logging.Logger, dnsConf dns.Config
} }
}() }()
initialDNSToUse := constants.DNSProviderMapping()[settings.Providers[0]] initialDNSToUse := constants.DNSProviderMapping()[settings.Providers[0]]
dnsConf.UseDNSInternally(initialDNSToUse.IPs[0]) var ipToUse net.IP
for _, ipToUse = range initialDNSToUse.IPs {
if settings.IPv6 && ipToUse.To4() == nil {
break
} else if !settings.IPv6 && ipToUse.To4() != nil {
break
}
}
dnsConf.UseDNSInternally(ipToUse)
if err := dnsConf.DownloadRootHints(uid, gid); err != nil { if err := dnsConf.DownloadRootHints(uid, gid); err != nil {
return err return err
} }
@@ -410,9 +418,9 @@ func setupUnbound(ctx context.Context, logger logging.Logger, dnsConf dns.Config
if err != nil { if err != nil {
return err return err
} }
waiter.Add(func() error { waiter.Add(func() error { //nolint:scopelint
err := waitFn() err := waitFn()
logger.Error("unbound: %s", err) logger.Error("unbound: %s", err) //nolint:scopelint
return err return err
}) })
go streamMerger.Merge(ctx, stream, command.MergeName("unbound"), command.MergeColor(constants.ColorUnbound())) go streamMerger.Merge(ctx, stream, command.MergeName("unbound"), command.MergeColor(constants.ColorUnbound()))