aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-01-07 19:23:01 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-01-07 19:23:01 +0100
commit1983c08bbb7cae43c17252e4ce28fbf000c5d892 (patch)
tree8bd5edff4a0e244e0b95c43fb8e12351bbd53dee
parent3b8e9fb44d3d1c91ab457bffbbf99e433df68312 (diff)
Postpone registration
-rw-r--r--cmd/acme/config.go1
-rw-r--r--cmd/acme/main.go9
-rw-r--r--provider.go4
3 files changed, 9 insertions, 5 deletions
diff --git a/cmd/acme/config.go b/cmd/acme/config.go
index 0dd396c..a28c619 100644
--- a/cmd/acme/config.go
+++ b/cmd/acme/config.go
@@ -42,6 +42,7 @@ type account struct {
Phone string
KeySize int
Key string
+ pending bool
*acme.Account
acme.Contacts
}
diff --git a/cmd/acme/main.go b/cmd/acme/main.go
index f0fb67d..f42c9e3 100644
--- a/cmd/acme/main.go
+++ b/cmd/acme/main.go
@@ -36,6 +36,7 @@ func main() {
if err != nil {
log.Fatal(err)
}
+ acc.pending = true
}
acc.Contacts.AddMail(acc.Mail)
acc.Contacts.AddPhone(acc.Phone)
@@ -73,9 +74,11 @@ func main() {
for k, des := range conf.Desire {
log.Println("process", k)
- err = des.provider.Register(des.account, des.account.Contacts)
- if err != nil {
- log.Fatal("register", err)
+ if des.account.pending {
+ err = des.provider.Register(des.account, des.account.Contacts)
+ if err != nil {
+ log.Fatal("register", err)
+ }
}
d, err := acme.NewDesire(des.Altnames, des.KeySize)
diff --git a/provider.go b/provider.go
index a8cfa64..006d19c 100644
--- a/provider.go
+++ b/provider.go
@@ -115,7 +115,7 @@ func (p *Provider) parseHeader(resp *http.Response) nextStep {
func (p *Provider) parseJson(resp *http.Response, v interface{}) (nextStep, error) {
ns := p.parseHeader(resp)
- go p.parseNonce(resp)
+ p.parseNonce(resp)
defer resp.Body.Close()
switch resp.Header.Get("Content-Type") {
case "application/problem+json":
@@ -128,7 +128,7 @@ func (p *Provider) parseJson(resp *http.Response, v interface{}) (nextStep, erro
func (p *Provider) parseCert(resp *http.Response) (*x509.Certificate, nextStep, error) {
ns := p.parseHeader(resp)
- go p.parseNonce(resp)
+ p.parseNonce(resp)
defer resp.Body.Close()
switch resp.Header.Get("Content-Type") {
case "application/problem+json":