aboutsummaryrefslogtreecommitdiff
path: root/middleware
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2016-03-19 22:12:07 +0000
committerGravatar Miek Gieben <miek@miek.nl> 2016-03-19 22:12:07 +0000
commit2454d23cabe803546befcca34badf103f0689862 (patch)
tree3d15fd148d22f04f43342b0bec4d3964a45e9a7f /middleware
parentb186c6bcf37ac818749b3f07c5846aaaefd8ff00 (diff)
downloadcoredns-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.go10
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}
}