| 
									
										
										
										
											2016-04-02 16:56:16 +01:00
										 |  |  | package file | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"strings" | 
					
						
							|  |  |  | 	"testing" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 15:15:47 +01:00
										 |  |  | 	"github.com/coredns/coredns/plugin/pkg/dnstest" | 
					
						
							| 
									
										
										
										
											2017-09-14 09:36:06 +01:00
										 |  |  | 	"github.com/coredns/coredns/plugin/test" | 
					
						
							| 
									
										
										
										
											2016-04-02 16:56:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	"github.com/miekg/dns" | 
					
						
							|  |  |  | 	"golang.org/x/net/context" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-11 07:56:38 +01:00
										 |  |  | var entTestCases = []test.Case{ | 
					
						
							| 
									
										
										
										
											2016-04-02 16:56:16 +01:00
										 |  |  | 	{ | 
					
						
							|  |  |  | 		Qname: "b.c.miek.nl.", Qtype: dns.TypeA, | 
					
						
							|  |  |  | 		Ns: []dns.RR{ | 
					
						
							| 
									
										
										
										
											2016-04-11 07:56:38 +01:00
										 |  |  | 			test.SOA("miek.nl.	1800	IN	SOA	linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"), | 
					
						
							| 
									
										
										
										
											2016-04-02 16:56:16 +01:00
										 |  |  | 		}, | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		Qname: "b.c.miek.nl.", Qtype: dns.TypeA, Do: true, | 
					
						
							|  |  |  | 		Ns: []dns.RR{ | 
					
						
							| 
									
										
										
										
											2016-04-11 07:56:38 +01:00
										 |  |  | 			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"), | 
					
						
							| 
									
										
										
										
											2016-04-02 16:56:16 +01:00
										 |  |  | 		}, | 
					
						
							| 
									
										
										
										
											2016-04-11 07:56:38 +01:00
										 |  |  | 		Extra: []dns.RR{test.OPT(4096, true)}, | 
					
						
							| 
									
										
										
										
											2016-04-02 16:56:16 +01:00
										 |  |  | 	}, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-05 14:39:49 +00:00
										 |  |  | func TestLookupEnt(t *testing.T) { | 
					
						
							| 
									
										
										
										
											2017-06-08 18:43:11 +01:00
										 |  |  | 	zone, err := Parse(strings.NewReader(dbMiekENTNL), testzone, "stdin", 0) | 
					
						
							| 
									
										
										
										
											2016-04-02 16:56:16 +01:00
										 |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		t.Fatalf("expect no error when reading zone, got %q", err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-11 07:56:38 +01:00
										 |  |  | 	fm := File{Next: test.ErrorHandler(), Zones: Zones{Z: map[string]*Zone{testzone: zone}, Names: []string{testzone}}} | 
					
						
							| 
									
										
										
										
											2016-04-02 16:56:16 +01:00
										 |  |  | 	ctx := context.TODO() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	for _, tc := range entTestCases { | 
					
						
							|  |  |  | 		m := tc.Msg() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 15:15:47 +01:00
										 |  |  | 		rec := dnstest.NewRecorder(&test.ResponseWriter{}) | 
					
						
							| 
									
										
										
										
											2016-04-02 16:56:16 +01:00
										 |  |  | 		_, err := fm.ServeDNS(ctx, rec, m) | 
					
						
							|  |  |  | 		if err != nil { | 
					
						
							|  |  |  | 			t.Errorf("expected no error, got %v\n", err) | 
					
						
							|  |  |  | 			return | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-07 11:10:16 +01:00
										 |  |  | 		resp := rec.Msg | 
					
						
							| 
									
										
										
										
											2017-08-16 15:30:58 +01:00
										 |  |  | 		test.SortAndCheck(t, resp, tc) | 
					
						
							| 
									
										
										
										
											2016-04-02 16:56:16 +01:00
										 |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-05 14:39:49 +00:00
										 |  |  | // fdjfdjkf | 
					
						
							| 
									
										
										
										
											2016-04-02 16:56:16 +01:00
										 |  |  | const dbMiekENTNL = `; File written on Sat Apr  2 16:43:11 2016 | 
					
						
							|  |  |  | ; dnssec_signzone version 9.10.3-P4-Ubuntu | 
					
						
							|  |  |  | miek.nl.		1800	IN SOA	linode.atoom.net. miek.miek.nl. ( | 
					
						
							|  |  |  | 					1282630057 ; serial | 
					
						
							|  |  |  | 					14400      ; refresh (4 hours) | 
					
						
							|  |  |  | 					3600       ; retry (1 hour) | 
					
						
							|  |  |  | 					604800     ; expire (1 week) | 
					
						
							|  |  |  | 					14400      ; minimum (4 hours) | 
					
						
							|  |  |  | 					) | 
					
						
							|  |  |  | 			1800	RRSIG	SOA 8 2 1800 ( | 
					
						
							|  |  |  | 					20160502144311 20160402144311 12051 miek.nl. | 
					
						
							|  |  |  | 					KegoBxA3Tbrhlc4cEdkRiteIkOfsqD4oCLLM | 
					
						
							|  |  |  | 					ISJ5bChWy00LGHUlAnHVu5Ti96hUjVNmGSxa | 
					
						
							|  |  |  | 					xtGSuAAMFCr52W8pAB8LBIlu9B6QZUPHMccr | 
					
						
							|  |  |  | 					SuzxAX3ioawk2uTjm+k8AGPT4RoQdXemGLAp | 
					
						
							|  |  |  | 					zJTASolTVmeMTh5J0sZTZJrtvZ0= ) | 
					
						
							|  |  |  | 			1800	NS	linode.atoom.net. | 
					
						
							|  |  |  | 			1800	RRSIG	NS 8 2 1800 ( | 
					
						
							|  |  |  | 					20160502144311 20160402144311 12051 miek.nl. | 
					
						
							|  |  |  | 					m0cOHL6Rre/0jZPXe+0IUjs/8AFASRCvDbSx | 
					
						
							|  |  |  | 					ZQsRDSlZgS6RoMP3OC77cnrKDVlfZ2Vhq3Ce | 
					
						
							|  |  |  | 					nYPoGe0/atB92XXsilmstx4HTSU64gsV9iLN | 
					
						
							|  |  |  | 					Xkzk36617t7zGOl/qumqfaUXeA9tihItzEim | 
					
						
							|  |  |  | 					6SGnufVZI4o8xeyaVCNDDuN0bvY= ) | 
					
						
							|  |  |  | 			14400	NSEC	a.miek.nl. NS SOA RRSIG NSEC DNSKEY | 
					
						
							|  |  |  | 			14400	RRSIG	NSEC 8 2 14400 ( | 
					
						
							|  |  |  | 					20160502144311 20160402144311 12051 miek.nl. | 
					
						
							|  |  |  | 					BCWVgwxWrs4tBjS9QXKkftCUbiLi40NyH1yA | 
					
						
							|  |  |  | 					nbFy1wCKQ2jDH00810+ia4b66QrjlAKgxE9z | 
					
						
							|  |  |  | 					9U7MKSMV86sNkyAtlCi+2OnjtWF6sxPdJO7k | 
					
						
							|  |  |  | 					CHeg46XBjrQuiJRY8CneQX56+IEPdufLeqPR | 
					
						
							|  |  |  | 					l+ocBQ2UkGhXmQdWp3CFDn2/eqU= ) | 
					
						
							|  |  |  | 			1800	DNSKEY	256 3 8 ( | 
					
						
							|  |  |  | 					AwEAAcNEU67LJI5GEgF9QLNqLO1SMq1EdoQ6 | 
					
						
							|  |  |  | 					E9f85ha0k0ewQGCblyW2836GiVsm6k8Kr5EC | 
					
						
							|  |  |  | 					IoMJ6fZWf3CQSQ9ycWfTyOHfmI3eQ/1Covhb | 
					
						
							|  |  |  | 					2y4bAmL/07PhrL7ozWBW3wBfM335Ft9xjtXH | 
					
						
							|  |  |  | 					Py7ztCbV9qZ4TVDTW/Iyg0PiwgoXVesz | 
					
						
							|  |  |  | 					) ; ZSK; alg = RSASHA256; key id = 12051 | 
					
						
							|  |  |  | 			1800	DNSKEY	257 3 8 ( | 
					
						
							|  |  |  | 					AwEAAcWdjBl4W4wh/hPxMDcBytmNCvEngIgB | 
					
						
							|  |  |  | 					9Ut3C2+QI0oVz78/WK9KPoQF7B74JQ/mjO4f | 
					
						
							|  |  |  | 					vIncBmPp6mFNxs9/WQX0IXf7oKviEVOXLjct | 
					
						
							|  |  |  | 					R4D1KQLX0wprvtUIsQFIGdXaO6suTT5eDbSd | 
					
						
							|  |  |  | 					6tTwu5xIkGkDmQhhH8OQydoEuCwV245ZwF/8 | 
					
						
							|  |  |  | 					AIsqBYDNQtQ6zhd6jDC+uZJXg/9LuPOxFHbi | 
					
						
							|  |  |  | 					MTjp6j3CCW0kHbfM/YHZErWWtjPj3U3Z7knQ | 
					
						
							|  |  |  | 					SIm5PO5FRKBEYDdr5UxWJ/1/20SrzI3iztvP | 
					
						
							|  |  |  | 					wHDsA2rdHm/4YRzq7CvG4N0t9ac/T0a0Sxba | 
					
						
							|  |  |  | 					/BUX2UVPWaIVBdTRBtgHi0s= | 
					
						
							|  |  |  | 					) ; KSK; alg = RSASHA256; key id = 33694 | 
					
						
							|  |  |  | 			1800	RRSIG	DNSKEY 8 2 1800 ( | 
					
						
							|  |  |  | 					20160502144311 20160402144311 12051 miek.nl. | 
					
						
							|  |  |  | 					YNpi1jRDQKpnsQEjIjxqy+kJGaYnV16e8Iug | 
					
						
							|  |  |  | 					40c82y4pee7kIojFUllSKP44qiJpCArxF557 | 
					
						
							|  |  |  | 					tfjfwBd6c4hkqCScGPZXJ06LMyG4u//rhVMh | 
					
						
							|  |  |  | 					4hyKcxzQFKxmrFlj3oQGksCI8lxGX6RxiZuR | 
					
						
							|  |  |  | 					qv2ol2lUWrqetpAL+Zzwt71884E= ) | 
					
						
							|  |  |  | 			1800	RRSIG	DNSKEY 8 2 1800 ( | 
					
						
							|  |  |  | 					20160502144311 20160402144311 33694 miek.nl. | 
					
						
							|  |  |  | 					jKpLDEeyadgM0wDgzEk6sBBdWr2/aCrkAOU/ | 
					
						
							|  |  |  | 					w6dYIafN98f21oIYQfscV1gc7CTsA0vwzzUu | 
					
						
							|  |  |  | 					x0QgwxoNLMvSxxjOiW/2MzF8eozczImeCWbl | 
					
						
							|  |  |  | 					ad/pVCYH6Jn5UBrZ5RCWMVcs2RP5KDXWeXKs | 
					
						
							|  |  |  | 					jEN/0EmQg5qNd4zqtlPIQinA9I1HquJAnS56 | 
					
						
							|  |  |  | 					pFvYyGIbZmGEbhR18sXVBeTWYr+zOMHn2quX | 
					
						
							|  |  |  | 					0kkrx2udz+sPg7i4yRsLdhw138gPRy1qvbaC | 
					
						
							|  |  |  | 					8ELs1xo1mC9pTlDOhz24Q3iXpVAU1lXLYOh9 | 
					
						
							|  |  |  | 					nUP1/4UvZEYXHBUQk/XPRciojniWjAF825x3 | 
					
						
							|  |  |  | 					QoSivMHblBwRdAKJSg== ) | 
					
						
							|  |  |  | a.miek.nl.		1800	IN A	127.0.0.1 | 
					
						
							|  |  |  | 			1800	RRSIG	A 8 3 1800 ( | 
					
						
							|  |  |  | 					20160502144311 20160402144311 12051 miek.nl. | 
					
						
							|  |  |  | 					lUOYdSxScjyYz+Ebc+nb6iTNgCohqj7K+Dat | 
					
						
							|  |  |  | 					97KE7haV2nP3LxdYuDCJYZpeyhsXDLHd4bFI | 
					
						
							|  |  |  | 					bInYPwJiC6DUCxPCuCWy0KYlZOWW8KCLX3Ia | 
					
						
							|  |  |  | 					BOPQbvIwLsJhnX+/tyMD9mXortoqATO79/6p | 
					
						
							|  |  |  | 					nNxvFeM8pFDwaih17fXMuFR/BsI= ) | 
					
						
							|  |  |  | 			14400	NSEC	a.b.c.miek.nl. A RRSIG NSEC | 
					
						
							|  |  |  | 			14400	RRSIG	NSEC 8 3 14400 ( | 
					
						
							|  |  |  | 					20160502144311 20160402144311 12051 miek.nl. | 
					
						
							|  |  |  | 					d5XZEy6SUp+TPRJQED+0R65zf2Yeo/1dlEA2 | 
					
						
							|  |  |  | 					jYYvkXGSHXke4sg9nH8U3nr1rLcuqA1DsQgH | 
					
						
							|  |  |  | 					uMIjdENvXuZ+WCSwvIbhC+JEI6AyQ6Gfaf/D | 
					
						
							|  |  |  | 					I3mfu60C730IRByTrKM5C2rt11lwRQlbdaUY | 
					
						
							|  |  |  | 					h23/nn/q98ZKUlzqhAfkLI9pQPc= ) | 
					
						
							|  |  |  | a.b.c.miek.nl.		1800	IN A	127.0.0.1 | 
					
						
							|  |  |  | 			1800	RRSIG	A 8 5 1800 ( | 
					
						
							|  |  |  | 					20160502144311 20160402144311 12051 miek.nl. | 
					
						
							|  |  |  | 					FwgU5+fFD4hEebco3gvKQt3PXfY+dcOJr8dl | 
					
						
							|  |  |  | 					Ky4WLsONIdhP+4e9oprPisSLxImErY21BcrW | 
					
						
							|  |  |  | 					xzu1IZrYDsS8XBVV44lBx5WXEKvAOrUcut/S | 
					
						
							|  |  |  | 					OWhFZW7ncdIQCp32ZBIatiLRJEqXUjx+guHs | 
					
						
							|  |  |  | 					noFLiHix35wJWsRKwjGLIhH1fbs= ) | 
					
						
							|  |  |  | 			14400	NSEC	miek.nl. A RRSIG NSEC | 
					
						
							|  |  |  | 			14400	RRSIG	NSEC 8 5 14400 ( | 
					
						
							|  |  |  | 					20160502144311 20160402144311 12051 miek.nl. | 
					
						
							|  |  |  | 					lXgOqm9/jRRYvaG5jC1CDvTtGYxMroTzf4t4 | 
					
						
							|  |  |  | 					jeYGb60+qI0q9sHQKfAJvoQ5o8o1qfR7OuiF | 
					
						
							|  |  |  | 					f544ipYT9eTcJRyGAOoJ37yMie7ZIoVJ91tB | 
					
						
							|  |  |  | 					r8YdzZ9Q6x3v1cbwTaQiacwhPZhGYOw63qIs | 
					
						
							|  |  |  | 					q5IQErIPos2sNk+y9D8BEce2DO4= )` |