func BenchmarkLookupDNSSEC(b *testing.B) { zone, err := Parse(strings.NewReader(dbMiekNL_signed), testzone, "stdin") if err != nil { return } fm := File{Next: test.ErrorHandler(), Zones: Zones{Z: map[string]*Zone{testzone: zone}, Names: []string{testzone}}} ctx := context.TODO() rec := middleware.NewResponseRecorder(&test.ResponseWriter{}) tc := test.Case{ Qname: "b.miek.nl.", Qtype: dns.TypeA, Do: true, Rcode: dns.RcodeNameError, Ns: []dns.RR{ test.NSEC("archive.miek.nl. 14400 IN NSEC go.dns.miek.nl. CNAME RRSIG NSEC"), test.RRSIG("archive.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160426031301 20160327031301 12051 miek.nl. jEpx8lcp4do5fWXg="), test.NSEC("miek.nl. 14400 IN NSEC a.miek.nl. A NS SOA MX AAAA RRSIG NSEC DNSKEY"), test.RRSIG("miek.nl. 14400 IN RRSIG NSEC 8 2 14400 20160426031301 20160327031301 12051 miek.nl. mFfc3r/9PSC1H6oSpdC"), test.RRSIG("miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="), test.SOA("miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"), }, } m := tc.Msg() b.ResetTimer() for i := 0; i < b.N; i++ { fm.ServeDNS(ctx, rec, m) } }
"github.com/miekg/dns" "golang.org/x/net/context" ) var wildcardTestCases = []test.Case{ { Qname: "wild.dnssex.nl.", Qtype: dns.TypeTXT, Answer: []dns.RR{ test.TXT(`wild.dnssex.nl. 1800 IN TXT "Doing It Safe Is Better"`), }, }, { Qname: "wild.dnssex.nl.", Qtype: dns.TypeTXT, Do: true, Answer: []dns.RR{ test.RRSIG("wild.dnssex.nl. 1800 IN RRSIG TXT 8 2 1800 20160428190224 20160329190224 14460 dnssex.nl. FUZSTyvZfeuuOpCm"), test.TXT(`wild.dnssex.nl. 1800 IN TXT "Doing It Safe Is Better"`), }, Extra: []dns.RR{test.OPT(4096, true)}, }, // nodata reponse /* { Qname: "wild.dnssex.nl.", Qtype: dns.TypeSRV, Answer: []dns.RR{ test.TXT(`wild.dnssex.nl. 1800 IN TXT "Doing It Safe Is Better"`), }, }, { Qname: "wild.dnssex.nl.", Qtype: dns.TypeSRV, Do: true, Answer: []dns.RR{
"github.com/miekg/dns" "golang.org/x/net/context" ) var entTestCases = []test.Case{ { Qname: "b.c.miek.nl.", Qtype: dns.TypeA, Ns: []dns.RR{ test.SOA("miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"), }, }, { Qname: "b.c.miek.nl.", Qtype: dns.TypeA, Do: true, Ns: []dns.RR{ test.NSEC("a.miek.nl. 14400 IN NSEC a.b.c.miek.nl. A RRSIG NSEC"), test.RRSIG("a.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160502144311 20160402144311 12051 miek.nl. d5XZEy6SUpq98ZKUlzqhAfkLI9pQPc="), test.RRSIG("miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160502144311 20160402144311 12051 miek.nl. KegoBxA3Tbrhlc4cEdkRiteIkOfsq"), test.SOA("miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"), }, Extra: []dns.RR{test.OPT(4096, true)}, }, } func TestLookupENT(t *testing.T) { zone, err := Parse(strings.NewReader(dbMiekENTNL), testzone, "stdin") if err != nil { t.Fatalf("expect no error when reading zone, got %q", err) } fm := File{Next: test.ErrorHandler(), Zones: Zones{Z: map[string]*Zone{testzone: zone}, Names: []string{testzone}}} ctx := context.TODO()
"sort" "strings" "testing" "github.com/miekg/coredns/middleware" "github.com/miekg/coredns/middleware/test" "github.com/miekg/dns" "golang.org/x/net/context" ) var dnssecTestCases = []test.Case{ { Qname: "miek.nl.", Qtype: dns.TypeSOA, Do: true, Answer: []dns.RR{ test.RRSIG("miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="), test.SOA("miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"), }, Extra: []dns.RR{test.OPT(4096, true)}, }, { Qname: "miek.nl.", Qtype: dns.TypeAAAA, Do: true, Answer: []dns.RR{ test.AAAA("miek.nl. 1800 IN AAAA 2a01:7e00::f03c:91ff:fef1:6735"), test.RRSIG("miek.nl. 1800 IN RRSIG AAAA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. SsRT="), }, Extra: []dns.RR{test.OPT(4096, true)}, }, { Qname: "miek.nl.", Qtype: dns.TypeMX, Do: true, Answer: []dns.RR{
"github.com/miekg/dns" "golang.org/x/net/context" ) var dnssecTestCases = []test.Case{ { Qname: "miek.nl.", Qtype: dns.TypeDNSKEY, Answer: []dns.RR{ test.DNSKEY("miek.nl. 3600 IN DNSKEY 257 3 13 0J8u0XJ9GNGFEBXuAmLu04taHG4"), }, }, { Qname: "miek.nl.", Qtype: dns.TypeDNSKEY, Do: true, Answer: []dns.RR{ test.DNSKEY("miek.nl. 3600 IN DNSKEY 257 3 13 0J8u0XJ9GNGFEBXuAmLu04taHG4"), test.RRSIG("miek.nl. 3600 IN RRSIG DNSKEY 13 2 3600 20160503150844 20160425120844 18512 miek.nl. Iw/kNOyM"), }, Extra: []dns.RR{test.OPT(4096, true)}, }, } var dnsTestCases = []test.Case{ { Qname: "miek.nl.", Qtype: dns.TypeDNSKEY, Answer: []dns.RR{ test.DNSKEY("miek.nl. 3600 IN DNSKEY 257 3 13 0J8u0XJ9GNGFEBXuAmLu04taHG4"), }, }, { Qname: "miek.nl.", Qtype: dns.TypeMX, Answer: []dns.RR{
{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"), }, Extra: []dns.RR{test.OPT(4096, true)}, }, }