Fix wolfSSL_set_verify_result to use correct value

This commit is contained in:
Eric Blankenhorn 2023-10-05 09:56:37 -05:00
parent aedebac649
commit b329c0d5f4
3 changed files with 31 additions and 7 deletions

View File

@ -10752,8 +10752,9 @@ void wolfSSL_set_verify_result(WOLFSSL *ssl, long v)
if (ssl == NULL)
return;
#ifdef OPENSSL_ALL
ssl->verifyCallbackResult = v;
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \
defined(OPENSSL_ALL)
ssl->peerVerifyRet = v;
#else
(void)v;
WOLFSSL_STUB("wolfSSL_set_verify_result");
@ -23074,7 +23075,8 @@ size_t wolfSSL_get_peer_finished(const WOLFSSL *ssl, void *buf, size_t count)
}
#endif /* WOLFSSL_HAVE_TLS_UNIQUE */
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \
defined(OPENSSL_ALL)
long wolfSSL_get_verify_result(const WOLFSSL *ssl)
{
if (ssl == NULL) {

View File

@ -42475,6 +42475,29 @@ static int test_wolfSSL_verify_depth(void)
return EXPECT_RESULT();
}
static int test_wolfSSL_verify_result(void)
{
EXPECT_DECLS;
#if (defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \
defined(OPENSSL_ALL)) && !defined(NO_WOLFSSL_CLIENT)
WOLFSSL* ssl = NULL;
WOLFSSL_CTX* ctx = NULL;
long result = 0xDEADBEEF;
ExpectIntEQ(WOLFSSL_FAILURE, wolfSSL_get_verify_result(ssl));
ExpectNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()));
ExpectNotNull(ssl = SSL_new(ctx));
wolfSSL_set_verify_result(ssl, result);
ExpectIntEQ(result, wolfSSL_get_verify_result(ssl));
SSL_free(ssl);
SSL_CTX_free(ctx);
#endif
return EXPECT_RESULT();
}
#if defined(OPENSSL_EXTRA) && !defined(NO_HMAC)
/* helper function for test_wolfSSL_HMAC_CTX, digest size is expected to be a
* buffer of 64 bytes.
@ -65936,6 +65959,7 @@ TEST_CASE testCases[] = {
TEST_DECL(test_wolfSSL_sk_DIST_POINT),
TEST_DECL(test_wolfSSL_verify_mode),
TEST_DECL(test_wolfSSL_verify_depth),
TEST_DECL(test_wolfSSL_verify_result),
TEST_DECL(test_wolfSSL_msg_callback),
TEST_DECL(test_wolfSSL_MD4),

View File

@ -5476,7 +5476,8 @@ struct WOLFSSL {
#if defined(OPENSSL_EXTRA) || defined(HAVE_CURL)
word32 disabledCurves; /* curves disabled by user */
#endif
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \
defined(OPENSSL_ALL)
unsigned long peerVerifyRet;
#endif
#ifdef OPENSSL_EXTRA
@ -5793,9 +5794,6 @@ struct WOLFSSL {
word32 earlyDataSz;
byte earlyDataStatus;
#endif
#ifdef OPENSSL_ALL
long verifyCallbackResult;
#endif
#if defined(OPENSSL_EXTRA)
WOLFSSL_STACK* supportedCiphers; /* Used in wolfSSL_get_ciphers_compat */
WOLFSSL_STACK* peerCertChain; /* Used in wolfSSL_get_peer_cert_chain */