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.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/middleware/file/setup.go b/middleware/file/setup.go
index dd1f17d9a..95e3209f4 100644
--- a/middleware/file/setup.go
+++ b/middleware/file/setup.go
@@ -4,6 +4,7 @@ import (
"fmt"
"net"
"os"
+ "path"
"github.com/miekg/coredns/core/dnsserver"
"github.com/miekg/coredns/middleware"
@@ -49,6 +50,8 @@ func fileParse(c *caddy.Controller) (Zones, error) {
names := []string{}
origins := []string{}
+ config := dnsserver.GetConfig(c)
+
for c.Next() {
if c.Val() == "file" {
// file db.file [zones...]
@@ -64,6 +67,10 @@ func fileParse(c *caddy.Controller) (Zones, error) {
origins = args
}
+ if !path.IsAbs(fileName) && config.Root != "" {
+ fileName = path.Join(config.Root, fileName)
+ }
+
reader, err := os.Open(fileName)
if err != nil {
// bail out