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:
Miek Gieben
2018-02-28 18:16:05 -08:00
committed by GitHub
parent 5faa9e7bc1
commit f697b33283
27 changed files with 150 additions and 95 deletions

View File

@@ -10,6 +10,8 @@ With *dnssec* any reply that doesn't (or can't) do DNSSEC will get signed on the
denial of existence is implemented with NSEC black lies. Using ECDSA as an algorithm is preferred as
this leads to smaller signatures (compared to RSA). NSEC3 is *not* supported.
This plugin can only be used once per Server Block.
## Syntax
~~~
@@ -74,20 +76,3 @@ cluster.local {
}
}
~~~
## Bugs
Multiple *dnssec* plugins inside one server stanza will silently overwrite earlier ones, here
`example.org` will overwrite the one for `cluster.local`.
~~~
. {
kubernetes cluster.local
dnssec cluster.local {
key file Kcluster.local+013+45129
}
dnssec example.org {
key file Kexample.org.+013+45330
}
}
~~~