diff options
Diffstat (limited to 'middleware/file/closest.go')
-rw-r--r-- | middleware/file/closest.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/middleware/file/closest.go b/middleware/file/closest.go new file mode 100644 index 000000000..daee27314 --- /dev/null +++ b/middleware/file/closest.go @@ -0,0 +1,16 @@ +package file + +import "github.com/miekg/dns" + +// ClosestEncloser returns the closest encloser for rr. +func (z *Zone) ClosestEncloser(rr dns.RR) string { + elem := z.Tree.Prev(rr) + if elem == nil { + // SOA? + return "" + } + for _, r := range elem.All() { + return r.Header().Name + } + return "" +} |