aboutsummaryrefslogtreecommitdiff
path: root/plugin/forward/setup.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/forward/setup.go')
-rw-r--r--plugin/forward/setup.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/plugin/forward/setup.go b/plugin/forward/setup.go
index 6de0c870f..2d2ff1914 100644
--- a/plugin/forward/setup.go
+++ b/plugin/forward/setup.go
@@ -4,6 +4,7 @@ import (
"crypto/tls"
"errors"
"fmt"
+ "path/filepath"
"strconv"
"time"
@@ -165,6 +166,7 @@ func parseStanza(c *caddy.Controller) (*Forward, error) {
}
func parseBlock(c *caddy.Controller, f *Forward) error {
+ config := dnsserver.GetConfig(c)
switch c.Val() {
case "except":
ignore := c.RemainingArgs()
@@ -230,7 +232,11 @@ func parseBlock(c *caddy.Controller, f *Forward) error {
if len(args) > 3 {
return c.ArgErr()
}
-
+ for i := range args {
+ if !filepath.IsAbs(args[i]) && config.Root != "" {
+ args[i] = filepath.Join(config.Root, args[i])
+ }
+ }
tlsConfig, err := pkgtls.NewTLSConfigFromArgs(args...)
if err != nil {
return err