aboutsummaryrefslogtreecommitdiff
path: root/core/setup/dnssec.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2016-04-27 10:48:22 +0000
committerGravatar Miek Gieben <miek@miek.nl> 2016-04-27 10:48:22 +0000
commit7a8d943bccc7ec0d21e13374c836cf9197996e10 (patch)
tree6d1647d65cdea0376a5eb818e262af2ac670527f /core/setup/dnssec.go
parentefd5135ee365fa2ce09cd41815039efff5a8f8e4 (diff)
downloadcoredns-7a8d943bccc7ec0d21e13374c836cf9197996e10.tar.gz
coredns-7a8d943bccc7ec0d21e13374c836cf9197996e10.tar.zst
coredns-7a8d943bccc7ec0d21e13374c836cf9197996e10.zip
Bail out on failure when starting up
Don't silently hide failures, barf on startup. Also add more integration tests that should catch some of these things.
Diffstat (limited to 'core/setup/dnssec.go')
-rw-r--r--core/setup/dnssec.go15
1 files changed, 8 insertions, 7 deletions
diff --git a/core/setup/dnssec.go b/core/setup/dnssec.go
index 523f6e659..39f34b66f 100644
--- a/core/setup/dnssec.go
+++ b/core/setup/dnssec.go
@@ -1,7 +1,7 @@
package setup
import (
- "path"
+ "strings"
"github.com/miekg/coredns/middleware"
"github.com/miekg/coredns/middleware/dnssec"
@@ -35,8 +35,7 @@ func dnssecParse(c *Controller) ([]string, []*dnssec.DNSKEY, error) {
for c.NextBlock() {
k, e := keyParse(c)
if e != nil {
- // TODO(miek): Log and drop or something? stop startup?
- continue
+ return nil, nil, e
}
keys = append(keys, k...)
}
@@ -61,11 +60,13 @@ func keyParse(c *Controller) ([]*dnssec.DNSKEY, error) {
if value == "file" {
ks := c.RemainingArgs()
for _, k := range ks {
- // Kmiek.nl.+013+26205.key, handle .private or without extension: Kmiek.nl.+013+26205
- ext := path.Ext(k) // TODO(miek): test things like .key
base := k
- if len(ext) > 0 {
- base = k[:len(k)-len(ext)]
+ // Kmiek.nl.+013+26205.key, handle .private or without extension: Kmiek.nl.+013+26205
+ if strings.HasSuffix(k, ".key") {
+ base = k[:len(k)-4]
+ }
+ if strings.HasSuffix(k, ".private") {
+ base = k[:len(k)-8]
}
k, err := dnssec.ParseKeyFile(base+".key", base+".private")
if err != nil {