Merge pull request #6847 from embhorn/zd16767

Fix wolfSSL_set_verify_result to use correct value
This commit is contained in:
JacobBarthelmeh
2023-10-06 16:52:32 -06:00
committed by GitHub
3 changed files with 31 additions and 7 deletions

View File

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

View File

@ -42479,6 +42479,29 @@ static int test_wolfSSL_verify_depth(void)
return EXPECT_RESULT(); 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) #if defined(OPENSSL_EXTRA) && !defined(NO_HMAC)
/* helper function for test_wolfSSL_HMAC_CTX, digest size is expected to be a /* helper function for test_wolfSSL_HMAC_CTX, digest size is expected to be a
* buffer of 64 bytes. * buffer of 64 bytes.
@ -66039,6 +66062,7 @@ TEST_CASE testCases[] = {
TEST_DECL(test_wolfSSL_sk_DIST_POINT), TEST_DECL(test_wolfSSL_sk_DIST_POINT),
TEST_DECL(test_wolfSSL_verify_mode), TEST_DECL(test_wolfSSL_verify_mode),
TEST_DECL(test_wolfSSL_verify_depth), TEST_DECL(test_wolfSSL_verify_depth),
TEST_DECL(test_wolfSSL_verify_result),
TEST_DECL(test_wolfSSL_msg_callback), TEST_DECL(test_wolfSSL_msg_callback),
TEST_DECL(test_wolfSSL_MD4), TEST_DECL(test_wolfSSL_MD4),

View File

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