aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-12-17 01:44:48 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-12-17 01:44:48 +0100
commit3e1a89a27dcd7847e80dd717bbed8360b322240c (patch)
tree788b4bb28af97ec572264e749e46d44636332895
parenteda16bf12a72e1426d1f45eb07ce847d4b3e6882 (diff)
Catch more errors
-rw-r--r--acme.toml4
-rw-r--r--cmd/acmed/config.go4
-rw-r--r--cmd/acmed/main.go38
3 files changed, 32 insertions, 14 deletions
diff --git a/acme.toml b/acme.toml
index 70a4bd8..abd8a8e 100644
--- a/acme.toml
+++ b/acme.toml
@@ -21,6 +21,10 @@ mail = "postmaster@example.com"
phone = "+12025551212"
key = "private/postmaster.key"
+[account.notused]
+mail = "notused@example.com"
+key = "private/notused.key"
+
[hook.nginx]
cmd = "sudo service nginx reload"
diff --git a/cmd/acmed/config.go b/cmd/acmed/config.go
index f1529b2..7f5ffbe 100644
--- a/cmd/acmed/config.go
+++ b/cmd/acmed/config.go
@@ -63,6 +63,7 @@ var (
errNoKey = errors.New("no key specified")
errNoCert = errors.New("no cert specified")
errNoAltNames = errors.New("no altnames specified")
+ errNoMail = errors.New("no mail specified")
)
func LoadConfig(fname string) (*Config, error) {
@@ -79,6 +80,9 @@ func LoadConfig(fname string) (*Config, error) {
if v.KeySize == 0 {
v.KeySize = c.Defaults.KeySize
}
+ if v.Mail == "" {
+ return nil, errNoMail
+ }
if v.Key == "" {
return nil, errNoKey
}
diff --git a/cmd/acmed/main.go b/cmd/acmed/main.go
index 5b69327..08a62f3 100644
--- a/cmd/acmed/main.go
+++ b/cmd/acmed/main.go
@@ -53,30 +53,40 @@ func chkKey(k PrivKey) (*rsa.PrivateKey, error) {
}
}
-func main() {
- flag.Parse()
- conf, err := LoadConfig(*confName)
- if err != nil {
- log.Fatal(err)
- }
-
- for k, acc := range conf.Account {
+func chkKeys(c *Config) error {
+ var err error
+ for k, acc := range c.Account {
acc.key, err = chkKey(acc)
if err != nil {
- log.Fatal(err)
+ return err
}
- conf.Account[k] = acc
+ c.Account[k] = acc
}
-
- for k, des := range conf.Desire {
+ for k, des := range c.Desire {
des.key, err = chkKey(des)
if err != nil {
- log.Fatal(err)
+ return err
}
- conf.Desire[k] = des
+ c.Desire[k] = des
+ }
+ return nil
+}
+
+func main() {
+ flag.Parse()
+ conf, err := LoadConfig(*confName)
+ if err != nil {
+ log.Fatal(err)
+ }
+ err = chkKeys(conf)
+ if err != nil {
+ log.Fatal(err)
}
log.Println(conf)
+ for k, des := range conf.Desire {
+ log.Println(k, des.account)
+ }
return
for k, des := range conf.Desire {