feat: DNS host selection - system resolver, --dns-upstream flag, root hints
- Replace hardcoded 127.0.0.1:53 in systemResolver() with actual system DNS from /etc/resolv.conf (falls back to 127.0.0.1:53 if unavailable) - Add Resolver field to RootDiscoveryConfig so callers can override the upstream resolver used during root server discovery - Add --dns-upstream flag (e.g. --dns-upstream 8.8.8.8:53) to exploredns CLI and DNSUpstream field to Config - Add internal/dns/hints.go with all 13 IANA root server IPv4/IPv6 addresses as embedded constants (RootHints []RootServer) - Update tests: fix real_exchange_test.go call site; add hints_test.go covering RootHints correctness and resolver helper functions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
co-authored by
Copilot
multica-agent
parent
93959c9f11
commit
87898d5eb3
@@ -217,7 +217,7 @@ func TestResolveRootServerDirect(t *testing.T) {
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
defer cancel()
|
||||
|
||||
servers, err := resolveRootServer(ctx, "a.root-servers.net.", false)
|
||||
servers, err := resolveRootServer(ctx, systemResolver(), "a.root-servers.net.", false)
|
||||
if err != nil {
|
||||
t.Skipf("skipping (no local DNS): %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user