goto next;
}
OPENSSL_free(path);
- resp = OSSL_CMP_CTX_server_perform(cmp_ctx, req);
+ resp = OSSL_CMP_CTX_server_perform(cmp_ctx /* of client */, req);
OSSL_CMP_MSG_free(req);
if (resp == NULL) {
(void)http_server_send_status(prog, cbio,
if ((srv_ctx = setup_srv_ctx(engine)) == NULL)
goto err;
+ OSSL_CMP_CTX_set_transfer_cb_arg(cmp_ctx /* of client */, srv_ctx);
+
srv_cmp_ctx = OSSL_CMP_SRV_CTX_get0_cmp_ctx(srv_ctx);
- OSSL_CMP_CTX_set_transfer_cb_arg(cmp_ctx, srv_ctx);
if (!OSSL_CMP_CTX_set_log_cb(srv_cmp_ctx, print_to_bio_err)) {
CMP_err1("cannot set up error reporting and logging for %s", prog);
goto err;
OSSL_CMP_CTX_server_perform() is an interface to
OSSL_CMP_SRV_process_request() that can be used by a CMP client
in the same way as L<OSSL_CMP_MSG_http_perform(3)>.
+In particular, the first parameter I<client_ctx> is the B<OSSL_CMP_CTX> of the client.
The B<OSSL_CMP_SRV_CTX> must be set as I<transfer_cb_arg> of I<client_ctx>.
OSSL_CMP_SRV_CTX_new() creates and initializes an B<OSSL_CMP_SRV_CTX> structure