diff options
author | 2016-03-30 16:45:02 +0000 | |
---|---|---|
committer | 2016-03-30 16:45:02 +0000 | |
commit | bf6d90600be7eac782e076b7c5f334e83ba9dea0 (patch) | |
tree | 00fb49c912673d00b7880577992353c46c44a5b9 /middleware/file/closest.go | |
parent | 3838eabda49f01290caac204683264adec158e6f (diff) | |
download | coredns-bf6d90600be7eac782e076b7c5f334e83ba9dea0.tar.gz coredns-bf6d90600be7eac782e076b7c5f334e83ba9dea0.tar.zst coredns-bf6d90600be7eac782e076b7c5f334e83ba9dea0.zip |
add closest encloser stuff
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 "" +} |