mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 02:03:20 -04:00 
			
		
		
		
	middleware/proxy: config syntax cleanups (#435)
* middleware/proxy: config syntax cleanups Allow port numbers to be used in the transfer statements and clean up the proxy stanza parsing. Also allow, when specifying an upstream, /etc/resolv.conf (or any other file) to be used for getting the upstream nameserver. Add tests and fix the documentation to make clear what is allowed. * Fix the other upstream parse as well
This commit is contained in:
		| @@ -10,6 +10,7 @@ import ( | ||||
|  | ||||
| 	"github.com/miekg/coredns/core/dnsserver" | ||||
| 	"github.com/miekg/coredns/middleware" | ||||
| 	"github.com/miekg/coredns/middleware/pkg/dnsutil" | ||||
| 	"github.com/miekg/coredns/middleware/pkg/singleflight" | ||||
| 	"github.com/miekg/coredns/middleware/proxy" | ||||
|  | ||||
| @@ -93,13 +94,11 @@ func etcdParse(c *caddy.Controller) (*Etcd, bool, error) { | ||||
| 					if len(args) == 0 { | ||||
| 						return &Etcd{}, false, c.ArgErr() | ||||
| 					} | ||||
| 					for i := 0; i < len(args); i++ { | ||||
| 						h, p, e := net.SplitHostPort(args[i]) | ||||
| 						if e != nil && p == "" { | ||||
| 							args[i] = h + ":53" | ||||
| 						} | ||||
| 					ups, err := dnsutil.ParseHostPortOrFile(args...) | ||||
| 					if err != nil { | ||||
| 						return &Etcd{}, false, err | ||||
| 					} | ||||
| 					etc.Proxy = proxy.New(args) | ||||
| 					etc.Proxy = proxy.New(ups) | ||||
| 				case "tls": // cert key cacertfile | ||||
| 					args := c.RemainingArgs() | ||||
| 					if len(args) != 3 { | ||||
| @@ -133,13 +132,11 @@ func etcdParse(c *caddy.Controller) (*Etcd, bool, error) { | ||||
| 						if len(args) == 0 { | ||||
| 							return &Etcd{}, false, c.ArgErr() | ||||
| 						} | ||||
| 						for i := 0; i < len(args); i++ { | ||||
| 							h, p, e := net.SplitHostPort(args[i]) | ||||
| 							if e != nil && p == "" { | ||||
| 								args[i] = h + ":53" | ||||
| 							} | ||||
| 						ups, err := dnsutil.ParseHostPortOrFile(args...) | ||||
| 						if err != nil { | ||||
| 							return &Etcd{}, false, c.ArgErr() | ||||
| 						} | ||||
| 						etc.Proxy = proxy.New(args) | ||||
| 						etc.Proxy = proxy.New(ups) | ||||
| 					case "tls": // cert key cacertfile | ||||
| 						args := c.RemainingArgs() | ||||
| 						if len(args) != 3 { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user