aboutsummaryrefslogtreecommitdiff
path: root/middleware/file/setup.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/file/setup.go')
-rw-r--r--middleware/file/setup.go17
1 files changed, 10 insertions, 7 deletions
diff --git a/middleware/file/setup.go b/middleware/file/setup.go
index d1349399f..6ae6fc8c4 100644
--- a/middleware/file/setup.go
+++ b/middleware/file/setup.go
@@ -8,6 +8,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/proxy"
"github.com/mholt/caddy"
@@ -141,24 +142,26 @@ func TransferParse(c *caddy.Controller, secondary bool) (tos, froms []string, er
tos = c.RemainingArgs()
for i := range tos {
if tos[i] != "*" {
- if x := net.ParseIP(tos[i]); x == nil {
- return nil, nil, fmt.Errorf("must specify an IP addres: `%s'", tos[i])
+ normalized, err := dnsutil.ParseHostPort(tos[i], "53")
+ if err != nil {
+ return nil, nil, err
}
- tos[i] = middleware.Addr(tos[i]).Normalize()
+ tos[i] = normalized
}
}
}
if value == "from" {
if !secondary {
- return nil, nil, fmt.Errorf("can't use `transfer from` when not being a seconary")
+ return nil, nil, fmt.Errorf("can't use `transfer from` when not being a secondary")
}
froms = c.RemainingArgs()
for i := range froms {
if froms[i] != "*" {
- if x := net.ParseIP(froms[i]); x == nil {
- return nil, nil, fmt.Errorf("must specify an IP addres: `%s'", froms[i])
+ normalized, err := dnsutil.ParseHostPort(froms[i], "53")
+ if err != nil {
+ return nil, nil, err
}
- froms[i] = middleware.Addr(froms[i]).Normalize()
+ froms[i] = normalized
} else {
return nil, nil, fmt.Errorf("can't use '*' in transfer from")
}