forked from wolfSSL/wolfssl
add UnloadCAs ability for CTX or CertManager
This commit is contained in:
35
src/ssl.c
35
src/ssl.c
@@ -692,6 +692,31 @@ void CyaSSL_CertManagerFree(CYASSL_CERT_MANAGER* cm)
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Unload the CA signer list */
|
||||
int CyaSSL_CertManagerUnloadCAs(CYASSL_CERT_MANAGER* cm)
|
||||
{
|
||||
Signer* signers;
|
||||
|
||||
CYASSL_ENTER("CyaSSL_CertManagerUnloadCAs");
|
||||
|
||||
if (cm == NULL)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
if (LockMutex(&cm->caLock) != 0)
|
||||
return BAD_MUTEX_ERROR;
|
||||
|
||||
signers = cm->caList;
|
||||
cm->caList = NULL;
|
||||
|
||||
UnLockMutex(&cm->caLock);
|
||||
|
||||
FreeSigners(signers, NULL);
|
||||
|
||||
return SSL_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
#endif /* !NO_CERTS */
|
||||
|
||||
|
||||
@@ -3882,6 +3907,16 @@ int CyaSSL_set_compression(CYASSL* ssl)
|
||||
ssl, NULL, 1);
|
||||
}
|
||||
|
||||
int CyaSSL_CTX_UnloadCAs(CYASSL_CTX* ctx)
|
||||
{
|
||||
CYASSL_ENTER("CyaSSL_CTX_UnloadCAs");
|
||||
|
||||
if (ctx == NULL)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
return CyaSSL_CertManagerUnloadCAs(ctx->cm);
|
||||
}
|
||||
|
||||
/* old NO_FILESYSTEM end */
|
||||
#endif /* !NO_CERTS */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user