forked from wolfSSL/wolfssl
Review comments
This commit is contained in:
@ -5120,14 +5120,6 @@ int InitSSL(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup)
|
||||
XMEMCPY(ssl->sessionCtx, ctx->sessionCtx, ctx->sessionCtxSz);
|
||||
ssl->cbioFlag = ctx->cbioFlag;
|
||||
|
||||
if ((ssl->param = (WOLFSSL_X509_VERIFY_PARAM*)XMALLOC(
|
||||
sizeof(WOLFSSL_X509_VERIFY_PARAM),
|
||||
ssl->heap, DYNAMIC_TYPE_OPENSSL)) == NULL) {
|
||||
WOLFSSL_MSG("ssl->param memory error");
|
||||
return MEMORY_E;
|
||||
}
|
||||
XMEMSET(ssl->param, 0, sizeof(WOLFSSL_X509_VERIFY_PARAM));
|
||||
|
||||
#endif
|
||||
|
||||
InitCiphers(ssl);
|
||||
@ -5154,6 +5146,16 @@ int InitSSL(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup)
|
||||
XMEMSET(ssl->arrays->preMasterSecret, 0, ENCRYPT_LEN);
|
||||
#endif
|
||||
|
||||
#ifdef OPENSSL_EXTRA
|
||||
if ((ssl->param = (WOLFSSL_X509_VERIFY_PARAM*)XMALLOC(
|
||||
sizeof(WOLFSSL_X509_VERIFY_PARAM),
|
||||
ssl->heap, DYNAMIC_TYPE_OPENSSL)) == NULL) {
|
||||
WOLFSSL_MSG("ssl->param memory error");
|
||||
return MEMORY_E;
|
||||
}
|
||||
XMEMSET(ssl->param, 0, sizeof(WOLFSSL_X509_VERIFY_PARAM));
|
||||
#endif
|
||||
|
||||
#ifdef SINGLE_THREADED
|
||||
if (ctx->suites == NULL)
|
||||
#endif
|
||||
@ -9128,24 +9130,26 @@ static int DoVerifyCallback(WOLFSSL* ssl, int ret, ProcPeerCertArgs* args)
|
||||
}
|
||||
|
||||
#if defined(OPENSSL_EXTRA)
|
||||
if ((store->param = (WOLFSSL_X509_VERIFY_PARAM*)XMALLOC(
|
||||
sizeof(WOLFSSL_X509_VERIFY_PARAM),
|
||||
ssl->heap, DYNAMIC_TYPE_OPENSSL)) != NULL) {
|
||||
XMEMSET(store->param, 0, sizeof(WOLFSSL_X509_VERIFY_PARAM));
|
||||
store->param = (WOLFSSL_X509_VERIFY_PARAM*)XMALLOC(
|
||||
sizeof(WOLFSSL_X509_VERIFY_PARAM),
|
||||
ssl->heap, DYNAMIC_TYPE_OPENSSL);
|
||||
if (store->param == NULL) {
|
||||
return MEMORY_E;
|
||||
}
|
||||
XMEMSET(store->param, 0, sizeof(WOLFSSL_X509_VERIFY_PARAM));
|
||||
/* Overwrite with non-default param values in SSL */
|
||||
if (ssl->param) {
|
||||
if (ssl->param->check_time)
|
||||
store->param->check_time = ssl->param->check_time;
|
||||
|
||||
/* Overwrite with non-default param values in SSL */
|
||||
if (ssl->param) {
|
||||
if (ssl->param->check_time)
|
||||
store->param->check_time = ssl->param->check_time;
|
||||
if (ssl->param->flags)
|
||||
store->param->flags = ssl->param->flags;
|
||||
|
||||
if (ssl->param->flags)
|
||||
store->param->flags = ssl->param->flags;
|
||||
if (ssl->param->hostName[0])
|
||||
XMEMCPY(store->param->hostName, ssl->param->hostName,
|
||||
WOLFSSL_HOST_NAME_MAX);
|
||||
|
||||
if (ssl->param->hostName[0])
|
||||
XMEMCPY(store->param->hostName, ssl->param->hostName,
|
||||
WOLFSSL_HOST_NAME_MAX);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* defined(OPENSSL_EXTRA) */
|
||||
#endif /* defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)*/
|
||||
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
|
||||
|
10
src/ssl.c
10
src/ssl.c
@ -36420,7 +36420,7 @@ void wolfSSL_PKCS7_free(PKCS7* pkcs7)
|
||||
}
|
||||
void wolfSSL_PKCS7_SIGNED_free(PKCS7_SIGNED* p7)
|
||||
{
|
||||
wolfSSL_PKCS7_free((PKCS7*)p7);
|
||||
wolfSSL_PKCS7_free(p7);
|
||||
return;
|
||||
}
|
||||
PKCS7* wolfSSL_d2i_PKCS7(PKCS7** p7, const unsigned char** in, int len)
|
||||
@ -36588,6 +36588,9 @@ int wolfSSL_PEM_write_bio_PKCS7(WOLFSSL_BIO* bio, PKCS7* p7)
|
||||
if (bio == NULL || p7 == NULL)
|
||||
return WOLFSSL_FAILURE;
|
||||
|
||||
XMEMSET(outputHead, 0, outputHeadSz);
|
||||
XMEMSET(outputFoot, 0, outputFootSz);
|
||||
|
||||
hashType = wc_OidGetHash(p7->hashOID);
|
||||
hashSz = wc_HashGetDigestSize(hashType);
|
||||
if (hashSz > WC_MAX_DIGEST_SIZE)
|
||||
@ -36602,8 +36605,9 @@ int wolfSSL_PEM_write_bio_PKCS7(WOLFSSL_BIO* bio, PKCS7* p7)
|
||||
return WOLFSSL_FAILURE;
|
||||
};
|
||||
|
||||
wc_PKCS7_EncodeSignedData_ex(p7, hashBuf, hashSz,
|
||||
outputHead, &outputHeadSz, outputFoot, &outputFootSz);
|
||||
if ((wc_PKCS7_EncodeSignedData_ex(p7, hashBuf, hashSz,
|
||||
outputHead, &outputHeadSz, outputFoot, &outputFootSz)) != 0)
|
||||
return WOLFSSL_FAILURE;
|
||||
|
||||
outputSz = outputHeadSz + p7->contentSz + outputFootSz;
|
||||
output = (byte*)XMALLOC(outputSz, bio->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
|
@ -23695,10 +23695,10 @@ static void test_wolfSSL_PKCS7_SIGNED_new(void)
|
||||
static void test_wolfSSL_PEM_write_bio_PKCS7(void)
|
||||
{
|
||||
#if defined(OPENSSL_ALL) && defined(HAVE_PKCS7) && !defined(NO_FILESYSTEM)
|
||||
PKCS7* pkcs7;
|
||||
BIO* bio;
|
||||
PKCS7* pkcs7 = NULL;
|
||||
BIO* bio = NULL;
|
||||
const byte* cert_buf = NULL;
|
||||
int ret;
|
||||
int ret = 0;
|
||||
WC_RNG rng;
|
||||
const byte data[] = { /* Hello World */
|
||||
0x48,0x65,0x6c,0x6c,0x6f,0x20,0x57,0x6f,
|
||||
|
Reference in New Issue
Block a user