mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-04-29 13:43:24 +02:00
Merge pull request #7986 from julek-wolfssl/crl-cb
Add crl error override callback
This commit is contained in:
@@ -536,6 +536,13 @@ int CheckCertCRL_ex(WOLFSSL_CRL* crl, byte* issuerHash, byte* serial,
|
||||
|
||||
crl->cm->cbMissingCRL(url);
|
||||
}
|
||||
|
||||
if (crl->cm != NULL && crl->cm->crlCb &&
|
||||
crl->cm->crlCb(ret, crl, crl->cm, crl->cm->crlCbCtx)) {
|
||||
if (ret != 0)
|
||||
WOLFSSL_MSG("Overriding CRL error");
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -6007,6 +6007,17 @@ int wolfSSL_SetCRL_Cb(WOLFSSL* ssl, CbMissingCRL cb)
|
||||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
int wolfSSL_SetCRL_ErrorCb(WOLFSSL* ssl, crlErrorCb cb, void* ctx)
|
||||
{
|
||||
WOLFSSL_ENTER("wolfSSL_SetCRL_Cb");
|
||||
if (ssl) {
|
||||
SSL_CM_WARNING(ssl);
|
||||
return wolfSSL_CertManagerSetCRL_ErrorCb(SSL_CM(ssl), cb, ctx);
|
||||
}
|
||||
else
|
||||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
#ifdef HAVE_CRL_IO
|
||||
int wolfSSL_SetCRL_IOCb(WOLFSSL* ssl, CbCrlIO cb)
|
||||
{
|
||||
@@ -6072,6 +6083,15 @@ int wolfSSL_CTX_SetCRL_Cb(WOLFSSL_CTX* ctx, CbMissingCRL cb)
|
||||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
int wolfSSL_CTX_SetCRL_ErrorCb(WOLFSSL_CTX* ctx, crlErrorCb cb, void* cbCtx)
|
||||
{
|
||||
WOLFSSL_ENTER("wolfSSL_CTX_SetCRL_ErrorCb");
|
||||
if (ctx)
|
||||
return wolfSSL_CertManagerSetCRL_ErrorCb(ctx->cm, cb, cbCtx);
|
||||
else
|
||||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
#ifdef HAVE_CRL_IO
|
||||
int wolfSSL_CTX_SetCRL_IOCb(WOLFSSL_CTX* ctx, CbCrlIO cb)
|
||||
{
|
||||
|
||||
@@ -1858,6 +1858,26 @@ int wolfSSL_CertManagerSetCRL_Cb(WOLFSSL_CERT_MANAGER* cm, CbMissingCRL cb)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int wolfSSL_CertManagerSetCRL_ErrorCb(WOLFSSL_CERT_MANAGER* cm, crlErrorCb cb,
|
||||
void* ctx)
|
||||
{
|
||||
int ret = WOLFSSL_SUCCESS;
|
||||
|
||||
WOLFSSL_ENTER("wolfSSL_CertManagerSetCRL_Cb");
|
||||
|
||||
/* Validate parameters. */
|
||||
if (cm == NULL) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
if (ret == WOLFSSL_SUCCESS) {
|
||||
/* Store callback. */
|
||||
cm->crlCb = cb;
|
||||
cm->crlCbCtx = ctx;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef HAVE_CRL_IO
|
||||
/* Set the CRL I/O callback.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user