diff --git a/core/setup/rewrite.go b/core/setup/rewrite.go index 32f5f42a3..86bef2ca3 100644 --- a/core/setup/rewrite.go +++ b/core/setup/rewrite.go @@ -30,7 +30,7 @@ func rewriteParse(c *Controller) ([]rewrite.Rule, error) { for c.Next() { var rule rewrite.Rule var err error - var base = "/" + var base = "." var pattern, to string var status int var ext []string @@ -57,7 +57,7 @@ func rewriteParse(c *Controller) ([]rewrite.Rule, error) { return nil, c.ArgErr() } to = strings.Join(args1, " ") - case "ext": + case "ext": // TODO(miek): fix or remove args1 := c.RemainingArgs() if len(args1) == 0 { return nil, c.ArgErr() @@ -73,7 +73,7 @@ func rewriteParse(c *Controller) ([]rewrite.Rule, error) { return nil, err } ifs = append(ifs, ifCond) - case "status": + case "status": // TODO(miek): fix or remove if !c.NextArg() { return nil, c.ArgErr() } diff --git a/middleware/rewrite/rewrite.go b/middleware/rewrite/rewrite.go index 91b35d236..42043506e 100644 --- a/middleware/rewrite/rewrite.go +++ b/middleware/rewrite/rewrite.go @@ -3,6 +3,8 @@ package rewrite import ( + "strings" + "github.com/miekg/coredns/middleware" "github.com/miekg/dns" "golang.org/x/net/context" @@ -64,7 +66,15 @@ type SimpleRule struct { func NewSimpleRule(from, to string) SimpleRule { tpf := dns.StringToType[from] tpt := dns.StringToType[to] + // It's only a type if uppercase is used. + if from != strings.ToUpper(from) { + tpf = 0 + } + if to != strings.ToUpper(to) { + tpt = 0 + } + // lowercase and fully qualify the others here? TODO(miek) return SimpleRule{From: from, To: to, fromType: tpf, toType: tpt} }