only rewrite types when they are given in uppercase
This commit is contained in:
parent
b186c6bcf3
commit
2454d23cab
2 changed files with 13 additions and 3 deletions
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue