func delegationMsg() *dns.Msg { return &dns.Msg{ Ns: []dns.RR{ test.NS("miek.nl. 3600 IN NS linode.atoom.net."), test.NS("miek.nl. 3600 IN NS ns-ext.nlnetlabs.nl."), test.NS("miek.nl. 3600 IN NS omval.tednet.nl."), }, Extra: []dns.RR{ test.A("omval.tednet.nl. 3600 IN A 185.49.141.42"), test.AAAA("omval.tednet.nl. 3600 IN AAAA 2a04:b900:0:100::42"), }, } }
func testMsg() *dns.Msg { // don't care about the message header return &dns.Msg{ Answer: []dns.RR{test.MX("miek.nl. 1703 IN MX 1 aspmx.l.google.com.")}, Ns: []dns.RR{test.NS("miek.nl. 1703 IN NS omval.tednet.nl.")}, } }
Ns: []dns.RR{test.SOA("skydns.test. 300 SOA ns.dns.skydns.test. hostmaster.skydns.test. 0 0 0 0 0")}, }, // NXDOMAIN Test { Qname: "a.server1.nonexistent.region1.skydns.test.", Qtype: dns.TypeHINFO, Rcode: dns.RcodeNameError, Ns: []dns.RR{test.SOA("skydns.test. 300 SOA ns.dns.skydns.test. hostmaster.skydns.test. 0 0 0 0 0")}, }, { Qname: "skydns.test.", Qtype: dns.TypeSOA, Answer: []dns.RR{test.SOA("skydns.test. 300 IN SOA ns.dns.skydns.test. hostmaster.skydns.test. 1460498836 14400 3600 604800 60")}, }, // NS Record Test { Qname: "skydns.test.", Qtype: dns.TypeNS, Answer: []dns.RR{ test.NS("skydns.test. 300 NS a.ns.dns.skydns.test."), test.NS("skydns.test. 300 NS b.ns.dns.skydns.test."), }, Extra: []dns.RR{ test.A("a.ns.dns.skydns.test. 300 A 10.0.0.2"), test.A("b.ns.dns.skydns.test. 300 A 10.0.0.3"), }, }, // NS Record Test { Qname: "a.skydns.test.", Qtype: dns.TypeNS, Rcode: dns.RcodeNameError, Ns: []dns.RR{test.SOA("skydns.test. 300 IN SOA ns.dns.skydns.test. hostmaster.skydns.test. 1460498836 14400 3600 604800 60")}, }, // A Record For NS Record Test { Qname: "ns.dns.skydns.test.", Qtype: dns.TypeA,
func testMsgEx() *dns.Msg { return &dns.Msg{ Answer: []dns.RR{test.MX("example.org. 1703 IN MX 1 aspmx.l.google.com.")}, Ns: []dns.RR{test.NS("example.org. 1703 IN NS omval.tednet.nl.")}, } }
"sort" "strings" "testing" "github.com/miekg/coredns/middleware" "github.com/miekg/coredns/middleware/test" "github.com/miekg/dns" "golang.org/x/net/context" ) var delegationTestCases = []test.Case{ { Qname: "a.delegated.miek.nl.", Qtype: dns.TypeTXT, Ns: []dns.RR{ test.NS("delegated.miek.nl. 1800 IN NS a.delegated.miek.nl."), test.NS("delegated.miek.nl. 1800 IN NS ns-ext.nlnetlabs.nl."), }, Extra: []dns.RR{ test.A("a.delegated.miek.nl. 1800 IN A 139.162.196.78"), test.AAAA("a.delegated.miek.nl. 1800 IN AAAA 2a01:7e00::f03c:91ff:fef1:6735"), }, }, { Qname: "delegated.miek.nl.", Qtype: dns.TypeNS, Answer: []dns.RR{ test.NS("delegated.miek.nl. 1800 IN NS a.delegated.miek.nl."), test.NS("delegated.miek.nl. 1800 IN NS ns-ext.nlnetlabs.nl."), }, }, {
// Two tests, ask a question that should return servfail because remote it no accessible // and one with edns0 option added, that should return refused. {Host: "127.0.0.1", Port: 666, Key: "b.example.org.stub.dns.skydns.test."}, // Actual test that goes out to the internet. {Host: "199.43.132.53", Key: "a.example.net.stub.dns.skydns.test."}, } var dnsTestCasesStub = []test.Case{ { Qname: "example.org.", Qtype: dns.TypeA, Rcode: dns.RcodeServerFailure, }, { Qname: "example.net.", Qtype: dns.TypeA, Answer: []dns.RR{test.A("example.net. 86400 IN A 93.184.216.34")}, Ns: []dns.RR{ test.NS("example.net. 86400 IN NS a.iana-servers.net."), test.NS("example.net. 86400 IN NS b.iana-servers.net."), }, Extra: []dns.RR{test.OPT(4096, false)}, // This will have an EDNS0 section, because *we* added our local stub forward to detect loops. }, { Qname: "example.net.", Qtype: dns.TypeA, Do: true, Answer: []dns.RR{ test.A("example.net. 86400 IN A 93.184.216.34"), test.RRSIG("example.net. 86400 IN RRSIG A 8 2 86400 20160428060557 20160406182909 40948 example.net. Vm+rH5KN"), }, Ns: []dns.RR{ test.NS("example.net. 86400 IN NS a.iana-servers.net."), test.NS("example.net. 86400 IN NS b.iana-servers.net."), test.RRSIG("example.net. 86400 IN RRSIG NS 8 2 86400 20160428110538 20160407002909 40948 example.net. z74YR2"), },