aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-12-30 13:49:57 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-12-30 13:49:57 +0100
commitf1387fc588b5943c276770d56ec7e1cef3cecaa1 (patch)
treef6e969a022cea85d39c8c55d7427d812c2bb4968 /cmd
parent48aa7dafb468a849317cc37b64b45b2132aca5ec (diff)
Mkdir and Create
Diffstat (limited to 'cmd')
-rw-r--r--cmd/acme/main.go28
1 files changed, 15 insertions, 13 deletions
diff --git a/cmd/acme/main.go b/cmd/acme/main.go
index 0a979ec..762de5f 100644
--- a/cmd/acme/main.go
+++ b/cmd/acme/main.go
@@ -3,6 +3,7 @@ package main
import (
"crypto/rsa"
"flag"
+ "io"
"log"
"os"
"path"
@@ -12,6 +13,14 @@ import (
var confName = flag.String("conf", "acme.toml", "configuration file")
+func mkdirCreate(fname string, dmode, fmode os.FileMode) (io.WriteCloser, error) {
+ if err := os.MkdirAll(path.Dir(fname), dmode); err != nil {
+ return nil, err
+ }
+ flags := os.O_WRONLY | os.O_CREATE | os.O_TRUNC
+ return os.OpenFile(fname, flags, fmode)
+}
+
func chkKey(k PrivKey) (*rsa.PrivateKey, error) {
key := k.KeyPath()
if k.HasKey() {
@@ -22,11 +31,7 @@ func chkKey(k PrivKey) (*rsa.PrivateKey, error) {
defer fd.Close()
return acme.LoadKey(fd)
} else {
- if err := os.MkdirAll(path.Dir(key), 0700); err != nil {
- return nil, err
- }
- flags := os.O_WRONLY | os.O_CREATE | os.O_TRUNC
- fd, err := os.OpenFile(key, flags, 0600)
+ fd, err := mkdirCreate(key, 0700, 0600)
if err != nil {
return nil, err
}
@@ -37,10 +42,7 @@ func chkKey(k PrivKey) (*rsa.PrivateKey, error) {
func saveCert(k Cert, crt []byte) error {
cert := k.CertPath()
- if err := os.MkdirAll(path.Dir(cert), 0755); err != nil {
- return err
- }
- fd, err := os.Create(cert)
+ fd, err := mkdirCreate(cert, 0755, 0644)
if err != nil {
return err
}
@@ -55,20 +57,20 @@ func main() {
log.Fatal(err)
}
- for k, acc := range c.Account {
+ for k, acc := range conf.Account {
acc.key, err = chkKey(acc)
if err != nil {
log.Fatal(err)
}
- c.Account[k] = acc
+ conf.Account[k] = acc
}
- for k, des := range c.Desire {
+ for k, des := range conf.Desire {
des.key, err = chkKey(des)
if err != nil {
log.Fatal(err)
}
- c.Desire[k] = des
+ conf.Desire[k] = des
}
for k, des := range conf.Desire {