aboutsummaryrefslogtreecommitdiff
path: root/plugin/bind/setup.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/bind/setup.go')
-rw-r--r--plugin/bind/setup.go18
1 files changed, 13 insertions, 5 deletions
diff --git a/plugin/bind/setup.go b/plugin/bind/setup.go
index 796377841..a57e8ffce 100644
--- a/plugin/bind/setup.go
+++ b/plugin/bind/setup.go
@@ -12,13 +12,21 @@ import (
func setupBind(c *caddy.Controller) error {
config := dnsserver.GetConfig(c)
+
+ // addresses will be consolidated over all BIND directives available in that BlocServer
+ all := []string{}
for c.Next() {
- if !c.Args(&config.ListenHost) {
- return plugin.Error("bind", c.ArgErr())
+ addrs := c.RemainingArgs()
+ if len(addrs) == 0 {
+ return plugin.Error("bind", fmt.Errorf("at least one address is expected"))
}
+ for _, addr := range addrs {
+ if net.ParseIP(addr) == nil {
+ return plugin.Error("bind", fmt.Errorf("not a valid IP address: %s", addr))
+ }
+ }
+ all = append(all, addrs...)
}
- if net.ParseIP(config.ListenHost) == nil {
- return plugin.Error("bind", fmt.Errorf("not a valid IP address: %s", config.ListenHost))
- }
+ config.ListenHosts = all
return nil
}