middleware/hosts for /etc/hosts parsing (#695)

* add hosts middleware

* forgot pointer receiver

* add appropriately modified hostsfile tests from golang repo

* remove test artifacts, separate hostsfile parsing from caching and opening, remove unused metrics references, move middleware up the chain

* refactored the logic for creating records and filtering ip address versions. also got PTR lookups working

* Add README.md. Modify config to be more concise. Add zones list to config. Filter PTR responses based on zones list.

* add Fallthrough and return correct dns response code otherwise

* Simplified Hostsfile to only store hosts in the zones we care about, and by ip version. Added handler tests and improved other tests.

* oops, goimports loaded a package from a different repo
This commit is contained in:
Pat Moroney
2017-06-08 13:48:04 -06:00
committed by Miek Gieben
parent 990460ee7c
commit 92dd947c51
10 changed files with 864 additions and 8 deletions

View File

@@ -26,6 +26,7 @@ var directives = []string{
"loadbalance",
"dnssec",
"reverse",
"hosts",
"kubernetes",
"file",
"auto",

View File

@@ -14,6 +14,7 @@ import (
_ "github.com/coredns/coredns/middleware/etcd"
_ "github.com/coredns/coredns/middleware/file"
_ "github.com/coredns/coredns/middleware/health"
_ "github.com/coredns/coredns/middleware/hosts"
_ "github.com/coredns/coredns/middleware/kubernetes"
_ "github.com/coredns/coredns/middleware/loadbalance"
_ "github.com/coredns/coredns/middleware/log"