return retcode;
}
-int GRST_callback_SSLVerify_wrapper(int ok, X509_STORE_CTX *ctx)
-{
- SSL *ssl = (SSL *) X509_STORE_CTX_get_app_data(ctx);
- conn_rec *conn = (conn_rec *) SSL_get_app_data(ssl);
- int errnum = X509_STORE_CTX_get_error(ctx);
- int errdepth = X509_STORE_CTX_get_error_depth(ctx);
- int returned_ok;
- STACK_OF(X509) *certstack;
- GRSTx509Chain *grst_chain;
-
- /* Call caNl callback directly */
- returned_ok = canl_direct_pv_clb(NULL, ctx, ok);
-
- /* in case ssl_callback_SSLVerify changed it */
- errnum = X509_STORE_CTX_get_error(ctx);
-
- if ((errdepth == 0) && (errnum == X509_V_OK))
- /*
- * We've now got the last certificate - the identity being used for
- * this connection. At this point we check the whole chain for valid
- * CAs or, failing that, GSI-proxy validity using GRSTx509CheckChain.
- */
- {
- certstack = (STACK_OF(X509) *) X509_STORE_CTX_get_chain(ctx);
-
- errnum = GRSTx509ChainLoad(&grst_chain, certstack, NULL,
- "/etc/grid-security/certificates",
- "/etc/grid-security/vomsdir");
-
- if (returned_ok)
- /* Put result of GRSTx509ChainLoadCheck into connection notes */
- GRST_save_ssl_creds(conn, grst_chain);
- if (grst_chain)
- GRSTx509ChainFree(grst_chain);
- }
-
- return returned_ok;
-}
-
void sitecast_handle_NOP_request(server_rec *main_server,
GRSThtcpMessage *htcp_mesg, int s,
struct sockaddr *client_addr_ptr,
ctx = SSLSrvConfigRec_server(sc)->ssl_ctx;
/* Use default caNl callbacks to verify certificates*/
- canl_ssl_ctx_set_clb(c_ctx, ctx, ctx->verify_mode,
- GRST_callback_SSLVerify_wrapper);
+ canl_ssl_ctx_set_clb(c_ctx, ctx, ctx->verify_mode);
if (main_server->loglevel >= APLOG_DEBUG)
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, main_server,