mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-27 08:14:18 -04:00 
			
		
		
		
	[plugin/forward] Strip local zone from IPV6 nameservers (#6635)
Signed-off-by: Alejandro de Brito Fontes <aledbf@gmail.com>
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							c15fe973ee
						
					
				
				
					commit
					5b6d8e356c
				
			| @@ -143,6 +143,13 @@ nameserver 10.10.255.253`), 0666); err != nil { | ||||
| 	} | ||||
| 	defer os.Remove(resolv) | ||||
|  | ||||
| 	const resolvIPV6 = "resolv-ipv6.conf" | ||||
| 	if err := os.WriteFile(resolvIPV6, | ||||
| 		[]byte(`nameserver 0388:d254:7aec:6892:9f7f:e93b:5806:1b0f%en0`), 0666); err != nil { | ||||
| 		t.Fatalf("Failed to write %v file: %s", resolvIPV6, err) | ||||
| 	} | ||||
| 	defer os.Remove(resolvIPV6) | ||||
|  | ||||
| 	tests := []struct { | ||||
| 		input         string | ||||
| 		shouldErr     bool | ||||
| @@ -153,6 +160,8 @@ nameserver 10.10.255.253`), 0666); err != nil { | ||||
| 		{`forward . ` + resolv, false, "", []string{"10.10.255.252:53", "10.10.255.253:53"}}, | ||||
| 		// fail | ||||
| 		{`forward . /dev/null`, true, "no nameservers", nil}, | ||||
| 		// IPV6 with local zone | ||||
| 		{`forward . ` + resolvIPV6, false, "", []string{"[0388:d254:7aec:6892:9f7f:e93b:5806:1b0f]:53"}}, | ||||
| 	} | ||||
|  | ||||
| 	for i, test := range tests { | ||||
|   | ||||
| @@ -99,7 +99,7 @@ func tryFile(s string) ([]string, error) { | ||||
|  | ||||
| 	servers := []string{} | ||||
| 	for _, s := range c.Servers { | ||||
| 		servers = append(servers, net.JoinHostPort(s, c.Port)) | ||||
| 		servers = append(servers, net.JoinHostPort(stripZone(s), c.Port)) | ||||
| 	} | ||||
| 	return servers, nil | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user