aboutsummaryrefslogtreecommitdiff
path: root/middleware/file/file.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/file/file.go')
-rw-r--r--middleware/file/file.go5
1 files changed, 2 insertions, 3 deletions
diff --git a/middleware/file/file.go b/middleware/file/file.go
index 473b55574..907891783 100644
--- a/middleware/file/file.go
+++ b/middleware/file/file.go
@@ -1,7 +1,6 @@
package file
import (
- "fmt"
"io"
"log"
@@ -26,7 +25,7 @@ type (
func (f File) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) {
state := middleware.State{W: w, Req: r}
if state.QClass() != dns.ClassINET {
- return dns.RcodeServerFailure, fmt.Errorf("file: can only deal with ClassINET")
+ return f.Next.ServeDNS(ctx, w, r)
}
qname := state.Name()
zone := middleware.Zones(f.Zones.Names).Matches(qname)
@@ -63,7 +62,7 @@ func (f File) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (i
return dns.RcodeServerFailure, nil
}
- if state.Proto() != "udp" && state.QType() == dns.TypeAXFR {
+ if state.QType() == dns.TypeAXFR || state.QType() == dns.TypeIXFR {
xfr := Xfr{z}
return xfr.ServeDNS(ctx, w, r)
}