Skip to content

Commit 5cb80ea

Browse files
Merge pull request #6847 from embhorn/zd16767
Fix wolfSSL_set_verify_result to use correct value
2 parents fd2d098 + b329c0d commit 5cb80ea

3 files changed

Lines changed: 31 additions & 7 deletions

File tree

src/ssl.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10739,8 +10739,9 @@ void wolfSSL_set_verify_result(WOLFSSL *ssl, long v)
1073910739
if (ssl == NULL)
1074010740
return;
1074110741

10742-
#ifdef OPENSSL_ALL
10743-
ssl->verifyCallbackResult = v;
10742+
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \
10743+
defined(OPENSSL_ALL)
10744+
ssl->peerVerifyRet = v;
1074410745
#else
1074510746
(void)v;
1074610747
WOLFSSL_STUB("wolfSSL_set_verify_result");
@@ -23061,7 +23062,8 @@ size_t wolfSSL_get_peer_finished(const WOLFSSL *ssl, void *buf, size_t count)
2306123062
}
2306223063
#endif /* WOLFSSL_HAVE_TLS_UNIQUE */
2306323064

23064-
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
23065+
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \
23066+
defined(OPENSSL_ALL)
2306523067
long wolfSSL_get_verify_result(const WOLFSSL *ssl)
2306623068
{
2306723069
if (ssl == NULL) {

tests/api.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42479,6 +42479,29 @@ static int test_wolfSSL_verify_depth(void)
4247942479
return EXPECT_RESULT();
4248042480
}
4248142481

42482+
static int test_wolfSSL_verify_result(void)
42483+
{
42484+
EXPECT_DECLS;
42485+
#if (defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \
42486+
defined(OPENSSL_ALL)) && !defined(NO_WOLFSSL_CLIENT)
42487+
WOLFSSL* ssl = NULL;
42488+
WOLFSSL_CTX* ctx = NULL;
42489+
long result = 0xDEADBEEF;
42490+
42491+
ExpectIntEQ(WOLFSSL_FAILURE, wolfSSL_get_verify_result(ssl));
42492+
42493+
ExpectNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()));
42494+
ExpectNotNull(ssl = SSL_new(ctx));
42495+
42496+
wolfSSL_set_verify_result(ssl, result);
42497+
ExpectIntEQ(result, wolfSSL_get_verify_result(ssl));
42498+
42499+
SSL_free(ssl);
42500+
SSL_CTX_free(ctx);
42501+
#endif
42502+
return EXPECT_RESULT();
42503+
}
42504+
4248242505
#if defined(OPENSSL_EXTRA) && !defined(NO_HMAC)
4248342506
/* helper function for test_wolfSSL_HMAC_CTX, digest size is expected to be a
4248442507
* buffer of 64 bytes.
@@ -66039,6 +66062,7 @@ TEST_CASE testCases[] = {
6603966062
TEST_DECL(test_wolfSSL_sk_DIST_POINT),
6604066063
TEST_DECL(test_wolfSSL_verify_mode),
6604166064
TEST_DECL(test_wolfSSL_verify_depth),
66065+
TEST_DECL(test_wolfSSL_verify_result),
6604266066
TEST_DECL(test_wolfSSL_msg_callback),
6604366067

6604466068
TEST_DECL(test_wolfSSL_MD4),

wolfssl/internal.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5476,7 +5476,8 @@ struct WOLFSSL {
54765476
#if defined(OPENSSL_EXTRA) || defined(HAVE_CURL)
54775477
word32 disabledCurves; /* curves disabled by user */
54785478
#endif
5479-
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
5479+
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \
5480+
defined(OPENSSL_ALL)
54805481
unsigned long peerVerifyRet;
54815482
#endif
54825483
#ifdef OPENSSL_EXTRA
@@ -5792,9 +5793,6 @@ struct WOLFSSL {
57925793
word32 earlyDataSz;
57935794
byte earlyDataStatus;
57945795
#endif
5795-
#ifdef OPENSSL_ALL
5796-
long verifyCallbackResult;
5797-
#endif
57985796
#if defined(OPENSSL_EXTRA)
57995797
WOLFSSL_STACK* supportedCiphers; /* Used in wolfSSL_get_ciphers_compat */
58005798
WOLFSSL_STACK* peerCertChain; /* Used in wolfSSL_get_peer_cert_chain */

0 commit comments

Comments
 (0)