boulder/core
Daniel McCarney d7bfb542c0
Handle order finalization errors. (#3404)
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
2018-02-07 16:34:07 -05:00
..
proto Handle order finalization errors. (#3404) 2018-02-07 16:34:07 -05:00
challenges.go Implement TLS-SNI-02 challenge validations. (#2585) 2017-03-22 10:17:59 -07:00
core_test.go Remove unused error types (#3041) 2017-09-05 16:51:32 -07:00
interfaces.go Handle order finalization errors. (#3404) 2018-02-07 16:34:07 -05:00
objects.go Add inital CTPolicy impl (#3414) 2018-02-06 10:52:20 -08:00
objects_test.go Replace go-jose v1 with go-jose v2. (#2899) 2017-07-26 10:55:14 -07:00
util.go Remove unused error types (#3041) 2017-09-05 16:51:32 -07:00
util_test.go Replace go-jose v1 with go-jose v2. (#2899) 2017-07-26 10:55:14 -07:00
va.go Implement gRPC for VA's RPCs (#1738) 2016-05-31 16:44:48 -07:00