Skip to content

Commit c6db032

Browse files
acme/autocert/internal/acmetest: don't validate in goroutine
In the test server, rather than spawning a goroutine to validate challenges, block on the validation before responding to the client. This prevents a test race, where testing.T.Logf is called after the test is completed. While this has a slight behavioral difference to some production ACME server implementations (although is behavior allowed in the spec), the change has little material impact on what we are testing, since previously the validation would happen so quickly that it would be indistinguishable from the new blocking behavior (i.e. we would not be sending multiple requests during polling previously.) Fixes golang/go#52170 Change-Id: I75e3b2da69ddc2302be25a99f1b1151ed0f4af9b Reviewed-on: https://go-review.googlesource.com/c/crypto/+/405548 Run-TryBot: Roland Shoemaker <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: Bryan Mills <[email protected]>
1 parent 2cf3ade commit c6db032

File tree

1 file changed

+1
-1
lines changed
  • acme/autocert/internal/acmetest

1 file changed

+1
-1
lines changed

acme/autocert/internal/acmetest/ca.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ func (ca *CAServer) handle(w http.ResponseWriter, r *http.Request) {
380380
ca.httpErrorf(w, http.StatusBadRequest, "challenge accept: %v", err)
381381
return
382382
}
383-
go ca.validateChallenge(a, typ)
383+
ca.validateChallenge(a, typ)
384384
w.Write([]byte("{}"))
385385

386386
// Get authorization status requests.

0 commit comments

Comments
 (0)