commit 2cf560f78905b6f035e5eb06dfeae712d2346370 from: Oliver Lowe date: Sat Dec 18 07:22:10 2021 UTC cmd/recursor: test resolving a wrongly delegated domain commit - 769cb642185672c6028e5169628823cbdffcf718 commit + 2cf560f78905b6f035e5eb06dfeae712d2346370 blob - 2fc3d81c052cdd71654d2331332cc56324071134 blob + e55aa8a276f7a4c279a5310bf10554ce5838b9b0 --- cmd/recursor/recursor_test.go +++ cmd/recursor/recursor_test.go @@ -117,3 +117,30 @@ func TestNXDomain(t *testing.T) { } t.Logf("wanted: %+v got %+v", wanted, got) } + +func TestRefused(t *testing.T) { + var wanted, got dnsmessage.Message + var err error + wanted, err = dns.Exchange(tquery, quad9) + if err != nil { + fmt.Fprintf(os.Stderr, "skipping %s: %v\n", t.Name(), err) + t.Skip("query internet DNS:", err) + } + q := tquery + q.Questions[0].Name = dnsmessage.MustNewName("kjyq.com.") + wanted, err = dns.Exchange(q, "8.8.4.4:domain") + if err != nil { + t.Fatal(err) + } + // try twice: first for fresh response, second for cached response + for i := 0; i <= 1; i++ { + got, err = dns.Exchange(q, testAddr) + if err != nil { + t.Fatal(err) + } + if wanted.Header != got.Header { + t.Error("mismatched headers") + } + } + t.Logf("wanted: %+v got %+v", wanted, got) +}