GRPC: Make ra.FinalizeOrder a pass-through (#5549)
- Move `FinalizeOrder` logic from `grpc/ra-wrappers.go` to `ra` and `wfe` Fixes #5530
This commit is contained in:
parent
2a5b9f651a
commit
3480cc5ee9
|
|
@ -75,14 +75,7 @@ func (ras *RegistrationAuthorityClientWrapper) NewOrder(ctx context.Context, req
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ras *RegistrationAuthorityClientWrapper) FinalizeOrder(ctx context.Context, request *rapb.FinalizeOrderRequest) (*corepb.Order, error) {
|
func (ras *RegistrationAuthorityClientWrapper) FinalizeOrder(ctx context.Context, request *rapb.FinalizeOrderRequest) (*corepb.Order, error) {
|
||||||
resp, err := ras.inner.FinalizeOrder(ctx, request)
|
return ras.inner.FinalizeOrder(ctx, request)
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if resp == nil || !orderValid(resp) {
|
|
||||||
return nil, errIncompleteResponse
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// RegistrationAuthorityServerWrapper is the gRPC version of a core.RegistrationAuthority server
|
// RegistrationAuthorityServerWrapper is the gRPC version of a core.RegistrationAuthority server
|
||||||
|
|
@ -147,9 +140,5 @@ func (ras *RegistrationAuthorityServerWrapper) NewOrder(ctx context.Context, req
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ras *RegistrationAuthorityServerWrapper) FinalizeOrder(ctx context.Context, request *rapb.FinalizeOrderRequest) (*corepb.Order, error) {
|
func (ras *RegistrationAuthorityServerWrapper) FinalizeOrder(ctx context.Context, request *rapb.FinalizeOrderRequest) (*corepb.Order, error) {
|
||||||
if request == nil || request.Order == nil || request.Csr == nil {
|
|
||||||
return nil, errIncompleteRequest
|
|
||||||
}
|
|
||||||
|
|
||||||
return ras.inner.FinalizeOrder(ctx, request)
|
return ras.inner.FinalizeOrder(ctx, request)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
4
ra/ra.go
4
ra/ra.go
|
|
@ -980,6 +980,10 @@ func (ra *RegistrationAuthorityImpl) failOrder(
|
||||||
// If successful the order will be returned in processing status for the client
|
// If successful the order will be returned in processing status for the client
|
||||||
// to poll while awaiting finalization to occur.
|
// to poll while awaiting finalization to occur.
|
||||||
func (ra *RegistrationAuthorityImpl) FinalizeOrder(ctx context.Context, req *rapb.FinalizeOrderRequest) (*corepb.Order, error) {
|
func (ra *RegistrationAuthorityImpl) FinalizeOrder(ctx context.Context, req *rapb.FinalizeOrderRequest) (*corepb.Order, error) {
|
||||||
|
if req == nil || req.Order == nil {
|
||||||
|
return nil, errIncompleteGRPCRequest
|
||||||
|
}
|
||||||
|
|
||||||
order := req.Order
|
order := req.Order
|
||||||
|
|
||||||
if order.Status != string(core.StatusReady) {
|
if order.Status != string(core.StatusReady) {
|
||||||
|
|
|
||||||
|
|
@ -2275,6 +2275,11 @@ func (wfe *WebFrontEndImpl) FinalizeOrder(ctx context.Context, logEvent *web.Req
|
||||||
wfe.sendError(response, logEvent, web.ProblemDetailsForError(err, "Error finalizing order"), err)
|
wfe.sendError(response, logEvent, web.ProblemDetailsForError(err, "Error finalizing order"), err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if updatedOrder == nil || order.Id == 0 || order.Created == 0 || order.RegistrationID == 0 || order.Expires == 0 || len(order.Names) == 0 {
|
||||||
|
err = errors.New("Incomplete gRPC response message")
|
||||||
|
wfe.sendError(response, logEvent, web.ProblemDetailsForError(err, "Error validating order"), err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
orderURL := web.RelativeEndpoint(request,
|
orderURL := web.RelativeEndpoint(request,
|
||||||
fmt.Sprintf("%s%d/%d", orderPath, acct.ID, updatedOrder.Id))
|
fmt.Sprintf("%s%d/%d", orderPath, acct.ID, updatedOrder.Id))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue