Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix race condition during ACME order finalization
Previously when the authorization for an order completed the ACMEChallengeProcessor would update the authorization status and the order status after that, then the client would call the ACMEFinalizeOrderService to finalize the order. However, since these updates are not atomic there is a risk that the client will detect the new authorization status then immediately call the ACMEFinalizeOrderService before the order status can be updated by ACMEChallengeProcessor. Since both both ACMEFinalizeOrderService and ACMEChallengeProcessor will read and write the same order at the same time, there could be a race condition and the finalization could fail. To avoid the problem the ACMEChallengeProcessor has been modified to update the order status first before updating the authorization status.
- Loading branch information