mirror of
https://github.com/coredns/coredns.git
synced 2025-10-28 00:34:24 -04:00
return an error for multiple use of some plugins (#1559)
* plugins: Return error for multiple use of some Return plugin.ErrOnce when a plugin that doesn't support it, is called mutliple times. This now adds it for: cache, dnssec, errors, forward, hosts, nsid. And changes it slightly in kubernetes, pprof, reload, root. * more tests
This commit is contained in:
@@ -19,12 +19,15 @@ func init() {
|
||||
}
|
||||
|
||||
func setup(c *caddy.Controller) error {
|
||||
found := false
|
||||
h := &handler{addr: defaultAddr}
|
||||
|
||||
i := 0
|
||||
for c.Next() {
|
||||
if found {
|
||||
return plugin.Error("pprof", c.Err("pprof can only be specified once"))
|
||||
if i > 0 {
|
||||
return plugin.Error("pprof", plugin.ErrOnce)
|
||||
}
|
||||
i++
|
||||
|
||||
args := c.RemainingArgs()
|
||||
if len(args) == 1 {
|
||||
h.addr = args[0]
|
||||
@@ -39,7 +42,6 @@ func setup(c *caddy.Controller) error {
|
||||
if c.NextBlock() {
|
||||
return plugin.Error("pprof", c.ArgErr())
|
||||
}
|
||||
found = true
|
||||
}
|
||||
|
||||
pprofOnce.Do(func() {
|
||||
|
||||
Reference in New Issue
Block a user