diff options
author | 2016-03-19 22:12:07 +0000 | |
---|---|---|
committer | 2016-03-19 22:12:07 +0000 | |
commit | 2454d23cabe803546befcca34badf103f0689862 (patch) | |
tree | 3d15fd148d22f04f43342b0bec4d3964a45e9a7f /middleware | |
parent | b186c6bcf37ac818749b3f07c5846aaaefd8ff00 (diff) | |
download | coredns-2454d23cabe803546befcca34badf103f0689862.tar.gz coredns-2454d23cabe803546befcca34badf103f0689862.tar.zst coredns-2454d23cabe803546befcca34badf103f0689862.zip |
only rewrite types when they are given in uppercase
Diffstat (limited to 'middleware')
-rw-r--r-- | middleware/rewrite/rewrite.go | 10 |
1 files changed, 10 insertions, 0 deletions
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} } |