aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge.go12
-rw-r--r--solve_dns.go2
-rw-r--r--solve_http.go6
-rw-r--r--solve_pop.go2
-rw-r--r--solve_tls.go4
-rw-r--r--solve_webroot.go6
-rw-r--r--solver.go2
7 files changed, 17 insertions, 17 deletions
diff --git a/challenge.go b/challenge.go
index c39bc12..e08c2d9 100644
--- a/challenge.go
+++ b/challenge.go
@@ -40,22 +40,22 @@ const (
)
func (p *Provider) solve(s Signer, ch Challenge, sol Solver) error {
- ka, err := s.KeyAuth(ch.Token)
+ var err error
+
+ // update challenge
+ ch.Resource = ResChallenge
+ ch.KeyAuthorization, err = s.KeyAuth(ch.Token)
if err != nil {
return err
}
// prepare solver
- err = sol.Solve(ch.Token, ka)
+ err = sol.Solve(ch)
if err != nil {
return err
}
defer sol.Solved()
- // update challenge
- ch.Resource = ResChallenge
- ch.KeyAuthorization = ka
-
resp, err := p.post(ch.URI, s, ch)
if err != nil {
return err
diff --git a/solve_dns.go b/solve_dns.go
index c7ce910..fe8b254 100644
--- a/solve_dns.go
+++ b/solve_dns.go
@@ -6,7 +6,7 @@ func NewDNSSolver() Solver {
return &dnsSolver{}
}
-func (s *dnsSolver) Solve(token, keyAuth string) error {
+func (s *dnsSolver) Solve(_ Challenge) error {
return errNotImplemented
}
diff --git a/solve_http.go b/solve_http.go
index 308ef9f..15dc43d 100644
--- a/solve_http.go
+++ b/solve_http.go
@@ -23,11 +23,11 @@ func NewHTTPSolver(addr string) (Solver, error) {
return s, nil
}
-func (s *httpSolver) Solve(token, keyAuth string) error {
- p := path.Join(WellKnown, token)
+func (s *httpSolver) Solve(ch Challenge) error {
+ p := path.Join(WellKnown, ch.Token)
log.Println("solve http", p)
http.HandleFunc(p, func(w http.ResponseWriter, r *http.Request) {
- io.WriteString(w, keyAuth)
+ io.WriteString(w, ch.KeyAuthorization)
})
return nil
}
diff --git a/solve_pop.go b/solve_pop.go
index 57b1849..5f39e35 100644
--- a/solve_pop.go
+++ b/solve_pop.go
@@ -6,7 +6,7 @@ func NewPOPSolver() Solver {
return &popSolver{}
}
-func (s *popSolver) Solve(token, keyAuth string) error {
+func (s *popSolver) Solve(_ Challenge) error {
return errNotImplemented
}
diff --git a/solve_tls.go b/solve_tls.go
index 4941ab6..96ed3aa 100644
--- a/solve_tls.go
+++ b/solve_tls.go
@@ -90,8 +90,8 @@ func sniName(keyAuth string) string {
return z[:32] + "." + z[32:] + ".acme.invalid"
}
-func (s *tlsSolver) Solve(_, keyAuth string) error {
- name := sniName(keyAuth)
+func (s *tlsSolver) Solve(ch Challenge) error {
+ name := sniName(ch.KeyAuthorization)
log.Println("solve tls", name)
crt, err := newCert(name)
if err != nil {
diff --git a/solve_webroot.go b/solve_webroot.go
index a333bbb..2adf4db 100644
--- a/solve_webroot.go
+++ b/solve_webroot.go
@@ -16,15 +16,15 @@ func NewWebrootSolver(webroot string) Solver {
return &webrootSolver{webroot: webroot}
}
-func (s *webrootSolver) Solve(token, keyAuth string) error {
- s.file = path.Join(s.webroot, WellKnown, token)
+func (s *webrootSolver) Solve(ch Challenge) error {
+ s.file = path.Join(s.webroot, WellKnown, ch.Token)
log.Println("solve webroot", s.file)
fd, err := CreatePubFile(s.file)
if err != nil {
return err
}
defer fd.Close()
- _, err = io.WriteString(fd, keyAuth)
+ _, err = io.WriteString(fd, ch.KeyAuthorization)
return err
}
diff --git a/solver.go b/solver.go
index cfe84eb..79c2a86 100644
--- a/solver.go
+++ b/solver.go
@@ -9,6 +9,6 @@ const WellKnown = `/.well-known/acme-challenge/`
// Solver decribes a solving interface
type Solver interface {
- Solve(token, keyAuth string) error
+ Solve(Challenge) error
Solved() error
}