aboutsummaryrefslogtreecommitdiff
path: root/plugin/rewrite/rewrite.go
diff options
context:
space:
mode:
authorGravatar Ruslan Drozhdzh <30860269+rdrozhdzh@users.noreply.github.com> 2019-07-12 15:22:45 +0300
committerGravatar Miek Gieben <miek@miek.nl> 2019-07-12 12:22:45 +0000
commit69a2397bf56c50959a14fe770e82e45a80bf4416 (patch)
treec047054cef5cb29f90af590f311cf850dbb95823 /plugin/rewrite/rewrite.go
parenta5c405f6d7a019e8dec46eabdcb801a8870a38a1 (diff)
downloadcoredns-69a2397bf56c50959a14fe770e82e45a80bf4416.tar.gz
coredns-69a2397bf56c50959a14fe770e82e45a80bf4416.tar.zst
coredns-69a2397bf56c50959a14fe770e82e45a80bf4416.zip
plugin/rewrite: fix domain length validation (#2995)
* unit test * fix domain length validation * code optimization * remove unit test
Diffstat (limited to 'plugin/rewrite/rewrite.go')
-rw-r--r--plugin/rewrite/rewrite.go7
1 files changed, 3 insertions, 4 deletions
diff --git a/plugin/rewrite/rewrite.go b/plugin/rewrite/rewrite.go
index 906523326..e72e975b2 100644
--- a/plugin/rewrite/rewrite.go
+++ b/plugin/rewrite/rewrite.go
@@ -44,11 +44,10 @@ func (rw Rewrite) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg
for _, rule := range rw.Rules {
switch result := rule.Rewrite(ctx, state); result {
case RewriteDone:
- if !validName(state.Req.Question[0].Name) {
- x := state.Req.Question[0].Name
- log.Errorf("Invalid name after rewrite: %s", x)
+ if _, ok := dns.IsDomainName(state.Req.Question[0].Name); !ok {
+ err := fmt.Errorf("invalid name after rewrite: %s", state.Req.Question[0].Name)
state.Req.Question[0] = wr.originalQuestion
- return dns.RcodeServerFailure, fmt.Errorf("invalid name after rewrite: %s", x)
+ return dns.RcodeServerFailure, err
}
respRule := rule.GetResponseRule()
if respRule.Active {