- /* Status info wasn't set, don't return a response. */
- TS_RESP_free(ctx->response);
- ctx->response = NULL;
+ TS_RESP_CTX_set_status_info_cond(ctx,
+ TS_STATUS_REJECTION, "Error during response "
+ "generation.");
+ /* Check if the status info was set. */
+ if (ctx->response && ASN1_INTEGER_get(
+ TS_RESP_get_status_info(ctx->response)->status)
+ == TS_STATUS_GRANTED)
+ {
+ /* Status info wasn't set, don't
+ * return a response. */
+ TS_RESP_free(ctx->response);
+ ctx->response = NULL;
+ }