From cabc90b89bd2e6000663dba36d3449cde5b461dd Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 12 Jan 2016 22:23:15 +0100 Subject: Drop WG for now --- cmd/acme/main.go | 113 +++++++++++++++++++------------------------------------ 1 file changed, 38 insertions(+), 75 deletions(-) (limited to 'cmd') diff --git a/cmd/acme/main.go b/cmd/acme/main.go index b4b4985..0490399 100644 --- a/cmd/acme/main.go +++ b/cmd/acme/main.go @@ -3,7 +3,6 @@ package main import ( "flag" "log" - "sync" "dim13.org/acme" ) @@ -11,73 +10,48 @@ import ( var confName = flag.String("conf", "acme.toml", "configuration file") func prepare(conf *Config) error { - var wg sync.WaitGroup var err error - errc := make(chan error, 1) - for k, acc := range conf.Account { - wg.Add(1) - go func(k string, acc *account) { - defer wg.Done() - log.Println("LoadAccount", k) - acc.Account, err = acme.LoadAccount(acc.Key) + log.Println("LoadAccount", k) + acc.Account, err = acme.LoadAccount(acc.Key) + if err != nil { + log.Println(err) + log.Println("NewAccount", k) + acc.Account, err = acme.NewAccount(acc.KeySize) if err != nil { - log.Println(err) - log.Println("NewAccount", k) - acc.Account, err = acme.NewAccount(acc.KeySize) - if err != nil { - errc <- err - return - } - defer acc.Account.SaveKey(acc.Key) - acc.pending = true + return err } - acc.Contacts.AddMail(acc.Mail) - acc.Contacts.AddPhone(acc.Phone) - conf.Account[k] = acc - }(k, acc) + defer acc.Account.SaveKey(acc.Key) + acc.pending = true + } + acc.Contacts.AddMail(acc.Mail) + acc.Contacts.AddPhone(acc.Phone) + conf.Account[k] = acc } for k, des := range conf.Desire { - wg.Add(1) - go func(k string, des *desire) { - defer wg.Done() - log.Println("NewDesire", k) - des.Desire, err = acme.NewDesire(des.Altnames, des.Webroot, des.KeySize) - if err != nil { - errc <- err - return - } - conf.Desire[k] = des - }(k, des) + log.Println("NewDesire", k) + des.Desire, err = acme.NewDesire(des.Altnames, des.Webroot, des.KeySize) + if err != nil { + return err + } + conf.Desire[k] = des } for k, pro := range conf.Provider { - wg.Add(1) - go func(k string, pro *provider) { - defer wg.Done() - log.Println("NewProvider", k) - pro.Provider, err = acme.NewProvider(pro.Directory) - if err != nil { - errc <- err - return - } - conf.Provider[k] = pro - }(k, pro) + log.Println("NewProvider", k) + pro.Provider, err = acme.NewProvider(pro.Directory) + if err != nil { + return err + } + conf.Provider[k] = pro } - go func() { - wg.Wait() - close(errc) - }() - - return <-errc + return nil } func execute(conf *Config) error { - var wg sync.WaitGroup var err error - errc := make(chan error, 1) for k, des := range conf.Desire { if des.account.pending { @@ -90,34 +64,23 @@ func execute(conf *Config) error { hs := &httpChallenge{Webroot: des.Webroot} des.RegisterSolver(acme.ChallengeHTTP, hs) - wg.Add(1) - go func(k string, des *desire) { - log.Println("process", k) - defer wg.Done() + log.Println("process", k) - err = des.provider.Authorize(des.account, des.Desire) - if err != nil { - errc <- err - return - } + err = des.provider.Authorize(des.account, des.Desire) + if err != nil { + return err + } - err = des.provider.Cert(des.account, des.Desire) - if err != nil { - errc <- err - return - } + err = des.provider.Cert(des.account, des.Desire) + if err != nil { + return err + } - defer des.SaveKey(des.Key) - defer des.SaveCert(des.Cert) - }(k, des) + des.SaveKey(des.Key) + des.SaveCert(des.Cert) } - go func() { - wg.Wait() - close(errc) - }() - - return <-errc + return nil } func main() { -- cgit v1.2.3