This commit resolves the case where an error during finalization occurs. Prior to this commit if an error (expected or otherwise) occurred after setting an order to status processing at the start of order finalization the order would be stuck processing forever. The SA now has a `SetOrderError` RPC that can be used by the RA to persist an error onto an order. The order status calculation can use this error to decide if the order is invalid. The WFE is updated to write the error to the order JSON when displaying the order information. Prior to this commit the order protobuf had the error field as a `[]byte`. It doesn't seem like this is the right decision, we have a specific protobuf type for ProblemDetails and so this commit switches the error field to use it. The conversion to/from `[]byte` is done with the model by the SA. An integration test is included that prior to this commit left an order in a stuck processing state. With this commit the integration test passes as expected. Resolves https://github.com/letsencrypt/boulder/issues/3403 |
||
|---|---|---|
| .. | ||
| proto | ||
| challenges.go | ||
| core_test.go | ||
| interfaces.go | ||
| objects.go | ||
| objects_test.go | ||
| util.go | ||
| util_test.go | ||
| va.go | ||