From a78ba25f1b0d3f93b7090ff5b2812ccf9ed4901b Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 10 Jan 2016 21:22:37 +0100 Subject: Combine solver --- cmd/acme/main.go | 1 - cmd/acme/solve_http.go | 38 +++++++++++++------------------------- provider.go | 2 +- 3 files changed, 14 insertions(+), 27 deletions(-) diff --git a/cmd/acme/main.go b/cmd/acme/main.go index dffeda0..1dbc496 100644 --- a/cmd/acme/main.go +++ b/cmd/acme/main.go @@ -88,7 +88,6 @@ func main() { }, Webroot: des.Webroot, } - hs.Init() acme.RegisterSolver(acme.ChallengeHTTP, hs) wg.Add(1) diff --git a/cmd/acme/solve_http.go b/cmd/acme/solve_http.go index f9ab400..8e5cfaf 100644 --- a/cmd/acme/solve_http.go +++ b/cmd/acme/solve_http.go @@ -2,7 +2,6 @@ package main import ( "io" - "log" "net/http" "path" @@ -12,39 +11,28 @@ import ( type httpChallenge struct { http.Server Webroot string - file string started bool } -func (c *httpChallenge) Init() error { - if !c.started { - go c.ListenAndServe() - c.started = true - } - return nil -} - func (c *httpChallenge) Solve(token, keyAuth string) error { - log.Println("solver", c) if c.Webroot != "" { - return c.solveWebroot(token, keyAuth) + p := path.Join(c.Webroot, acme.WellKnown, token) + fd, err := acme.CreatePubFile(p) + if err != nil { + return err + } + defer fd.Close() + _, err = io.WriteString(fd, keyAuth) + return err } else { + if !c.started { + go c.ListenAndServe() + c.started = true + } p := path.Join(acme.WellKnown, token) http.HandleFunc(p, func(w http.ResponseWriter, r *http.Request) { io.WriteString(w, keyAuth) }) + return nil } - return nil -} - -func (c *httpChallenge) solveWebroot(token, keyAuth string) error { - log.Println("Solve WebRoot") - c.file = path.Join(c.Webroot, acme.WellKnown, token) - fd, err := acme.CreatePubFile(c.file) - if err != nil { - return err - } - defer fd.Close() - _, err = fd.Write([]byte(keyAuth)) - return err } diff --git a/provider.go b/provider.go index e4d1576..4152d17 100644 --- a/provider.go +++ b/provider.go @@ -280,7 +280,7 @@ func (p *Provider) Authorize(s ThumbSigner, d *Desire) error { if err != nil { return err } - time.Sleep(time.Second * 5) + time.Sleep(time.Second) } } } -- cgit v1.2.3