aboutsummaryrefslogtreecommitdiff
path: root/middleware/file/setup.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2016-11-24 21:51:38 +0100
committerGravatar Miek Gieben <miek@miek.nl> 2016-11-24 21:51:38 +0100
commita951fee29119eea54bc12113737849731d1a7b82 (patch)
treef6d20f592c73e113d5ef38e2efbc3b0e8af3f3bd /middleware/file/setup.go
parent4a8db8a4cebce229fc46d331b68c850e8ba9b717 (diff)
parent8dd47dd9327428fdd845c0935b6168af5101edd1 (diff)
downloadcoredns-a951fee29119eea54bc12113737849731d1a7b82.tar.gz
coredns-a951fee29119eea54bc12113737849731d1a7b82.tar.zst
coredns-a951fee29119eea54bc12113737849731d1a7b82.zip
merge conflict fixed
Diffstat (limited to 'middleware/file/setup.go')
-rw-r--r--middleware/file/setup.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/middleware/file/setup.go b/middleware/file/setup.go
index e358558e0..6ae6fc8c4 100644
--- a/middleware/file/setup.go
+++ b/middleware/file/setup.go
@@ -2,12 +2,14 @@ package file
import (
"fmt"
+ "net"
"os"
"path"
"github.com/miekg/coredns/core/dnsserver"
"github.com/miekg/coredns/middleware"
"github.com/miekg/coredns/middleware/pkg/dnsutil"
+ "github.com/miekg/coredns/middleware/proxy"
"github.com/mholt/caddy"
)
@@ -90,6 +92,7 @@ func fileParse(c *caddy.Controller) (Zones, error) {
}
noReload := false
+ prxy := proxy.Proxy{}
for c.NextBlock() {
t, _, e := TransferParse(c, false)
if e != nil {
@@ -98,6 +101,19 @@ func fileParse(c *caddy.Controller) (Zones, error) {
switch c.Val() {
case "no_reload":
noReload = true
+
+ case "upstream":
+ args := c.RemainingArgs()
+ if len(args) == 0 {
+ return Zones{}, c.ArgErr()
+ }
+ for i := 0; i < len(args); i++ {
+ h, p, e := net.SplitHostPort(args[i])
+ if e != nil && p == "" {
+ args[i] = h + ":53"
+ }
+ }
+ prxy = proxy.New(args)
}
for _, origin := range origins {
@@ -105,6 +121,7 @@ func fileParse(c *caddy.Controller) (Zones, error) {
z[origin].TransferTo = append(z[origin].TransferTo, t...)
}
z[origin].NoReload = noReload
+ z[origin].Proxy = prxy
}
}
}