aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/acme/main.go13
-rw-r--r--desire.go4
-rw-r--r--solve_http.go2
-rw-r--r--solve_tls.go2
4 files changed, 15 insertions, 6 deletions
diff --git a/cmd/acme/main.go b/cmd/acme/main.go
index 95b1418..7a144c0 100644
--- a/cmd/acme/main.go
+++ b/cmd/acme/main.go
@@ -88,21 +88,26 @@ func main() {
httpSol, err := acme.NewHTTPSolver(conf.Defaults.Listen)
if err != nil {
- log.Fatal(err)
+ log.Println(err)
}
tlsSol, err := acme.NewTLSSolver(conf.Defaults.ListenTLS)
if err != nil {
- log.Fatal(err)
+ log.Println(err)
}
for k, des := range conf.Desire {
if des.Webroot != "" {
wrSol := acme.NewWebrootSolver(des.Webroot)
des.RegisterSolver(acme.ChallengeHTTP, wrSol)
- } else {
+ } else if httpSol != nil {
des.RegisterSolver(acme.ChallengeHTTP, httpSol)
}
- des.RegisterSolver(acme.ChallengeTLS, tlsSol)
+ if tlsSol != nil {
+ des.RegisterSolver(acme.ChallengeTLS, tlsSol)
+ }
+ if !des.HasSolver() {
+ log.Fatal("no Solver available")
+ }
log.Println("satisfice", k)
if err := satisfice(des); err != nil {
diff --git a/desire.go b/desire.go
index 15e714b..249c59a 100644
--- a/desire.go
+++ b/desire.go
@@ -34,6 +34,10 @@ func (d *Desire) RegisterSolver(c ChalType, s Solver) {
d.solver[c] = s
}
+func (d *Desire) HasSolver() bool {
+ return len(d.solver) != 0
+}
+
func backup(fname string) error {
err := os.Rename(fname, fname+".bak")
if err != nil && err.(*os.LinkError).Err == syscall.ENOENT {
diff --git a/solve_http.go b/solve_http.go
index 0175760..173745c 100644
--- a/solve_http.go
+++ b/solve_http.go
@@ -21,7 +21,7 @@ func NewHTTPSolver(addr string) (Solver, error) {
func (s *httpSolver) Solve(token, keyAuth string) error {
p := path.Join(WellKnown, token)
- log.Println("solve http")
+ log.Println("solve http", p)
http.HandleFunc(p, func(w http.ResponseWriter, r *http.Request) {
io.WriteString(w, keyAuth)
})
diff --git a/solve_tls.go b/solve_tls.go
index 4390539..01d9dae 100644
--- a/solve_tls.go
+++ b/solve_tls.go
@@ -91,8 +91,8 @@ func sniName(keyAuth string) string {
}
func (s *tlsSolver) Solve(_, keyAuth string) error {
- log.Println("solve tls")
name := sniName(keyAuth)
+ log.Println("solve tls", name)
crt, err := newCert(name)
if err != nil {
return err