add UnloadCAs ability for CTX or CertManager

This commit is contained in:
toddouska
2013-04-22 13:18:08 -07:00
parent 8c0ee8a6f7
commit 4491de3b77
2 changed files with 37 additions and 0 deletions

View File

@@ -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 */