forked from wolfSSL/wolfssl
Merge pull request #571 from toddouska/new_rng
Fix Jenkins build 389 single-threaded issue
This commit is contained in:
66
src/ssl.c
66
src/ssl.c
@ -354,6 +354,39 @@ void wolfSSL_CTX_free(WOLFSSL_CTX* ctx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef SINGLE_THREADED
|
||||||
|
/* no locking in single threaded mode, allow a CTX level rng to be shared with
|
||||||
|
* WOLFSSL objects, SSL_SUCCESS on ok */
|
||||||
|
int wolfSSL_CTX_new_rng(WOLFSSL_CTX* ctx)
|
||||||
|
{
|
||||||
|
WC_RNG* rng;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
if (ctx == NULL) {
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
}
|
||||||
|
|
||||||
|
rng = XMALLOC(sizeof(WC_RNG), ctx->heap, DYNAMIC_TYPE_RNG);
|
||||||
|
if (rng == NULL) {
|
||||||
|
return MEMORY_E;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef HAVE_FIPS
|
||||||
|
ret = wc_InitRng_ex(rng, ctx->heap);
|
||||||
|
#else
|
||||||
|
ret = wc_InitRng(rng);
|
||||||
|
#endif
|
||||||
|
if (ret != 0) {
|
||||||
|
XFREE(rng, ctx->heap, DYNAMIC_TYPE_RNG);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx->rng = rng;
|
||||||
|
return SSL_SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
WOLFSSL* wolfSSL_new(WOLFSSL_CTX* ctx)
|
WOLFSSL* wolfSSL_new(WOLFSSL_CTX* ctx)
|
||||||
{
|
{
|
||||||
WOLFSSL* ssl = NULL;
|
WOLFSSL* ssl = NULL;
|
||||||
@ -2323,39 +2356,6 @@ int wolfSSL_CertManagerUnloadCAs(WOLFSSL_CERT_MANAGER* cm)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef SINGLE_THREADED
|
|
||||||
/* no locking in single threaded mode, allow a CTX level rng to be shared with
|
|
||||||
* WOLFSSL objects, SSL_SUCCESS on ok */
|
|
||||||
int wolfSSL_CTX_new_rng(WOLFSSL_CTX* ctx)
|
|
||||||
{
|
|
||||||
WC_RNG* rng;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (ctx == NULL) {
|
|
||||||
return BAD_FUNC_ARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
rng = XMALLOC(sizeof(WC_RNG), ctx->heap, DYNAMIC_TYPE_RNG);
|
|
||||||
if (rng == NULL) {
|
|
||||||
return MEMORY_E;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef HAVE_FIPS
|
|
||||||
ret = wc_InitRng_ex(rng, ctx->heap);
|
|
||||||
#else
|
|
||||||
ret = wc_InitRng(rng);
|
|
||||||
#endif
|
|
||||||
if (ret != 0) {
|
|
||||||
XFREE(rng, ctx->heap, DYNAMIC_TYPE_RNG);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx->rng = rng;
|
|
||||||
return SSL_SUCCESS;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef WOLFSSL_TRUST_PEER_CERT
|
#ifdef WOLFSSL_TRUST_PEER_CERT
|
||||||
int wolfSSL_CertManagerUnload_trust_peers(WOLFSSL_CERT_MANAGER* cm)
|
int wolfSSL_CertManagerUnload_trust_peers(WOLFSSL_CERT_MANAGER* cm)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user