Skip to content

Commit b329c0d

Browse files
committed
Fix wolfSSL_set_verify_result to use correct value
1 parent aedebac commit b329c0d

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
@@ -10752,8 +10752,9 @@ void wolfSSL_set_verify_result(WOLFSSL *ssl, long v)
1075210752
if (ssl == NULL)
1075310753
return;
1075410754

10755-
#ifdef OPENSSL_ALL
10756-
ssl->verifyCallbackResult = v;
10755+
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \
10756+
defined(OPENSSL_ALL)
10757+
ssl->peerVerifyRet = v;
1075710758
#else
1075810759
(void)v;
1075910760
WOLFSSL_STUB("wolfSSL_set_verify_result");
@@ -23074,7 +23075,8 @@ size_t wolfSSL_get_peer_finished(const WOLFSSL *ssl, void *buf, size_t count)
2307423075
}
2307523076
#endif /* WOLFSSL_HAVE_TLS_UNIQUE */
2307623077

23077-
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
23078+
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \
23079+
defined(OPENSSL_ALL)
2307823080
long wolfSSL_get_verify_result(const WOLFSSL *ssl)
2307923081
{
2308023082
if (ssl == NULL) {

tests/api.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42475,6 +42475,29 @@ static int test_wolfSSL_verify_depth(void)
4247542475
return EXPECT_RESULT();
4247642476
}
4247742477

42478+
static int test_wolfSSL_verify_result(void)
42479+
{
42480+
EXPECT_DECLS;
42481+
#if (defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \
42482+
defined(OPENSSL_ALL)) && !defined(NO_WOLFSSL_CLIENT)
42483+
WOLFSSL* ssl = NULL;
42484+
WOLFSSL_CTX* ctx = NULL;
42485+
long result = 0xDEADBEEF;
42486+
42487+
ExpectIntEQ(WOLFSSL_FAILURE, wolfSSL_get_verify_result(ssl));
42488+
42489+
ExpectNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()));
42490+
ExpectNotNull(ssl = SSL_new(ctx));
42491+
42492+
wolfSSL_set_verify_result(ssl, result);
42493+
ExpectIntEQ(result, wolfSSL_get_verify_result(ssl));
42494+
42495+
SSL_free(ssl);
42496+
SSL_CTX_free(ctx);
42497+
#endif
42498+
return EXPECT_RESULT();
42499+
}
42500+
4247842501
#if defined(OPENSSL_EXTRA) && !defined(NO_HMAC)
4247942502
/* helper function for test_wolfSSL_HMAC_CTX, digest size is expected to be a
4248042503
* buffer of 64 bytes.
@@ -65936,6 +65959,7 @@ TEST_CASE testCases[] = {
6593665959
TEST_DECL(test_wolfSSL_sk_DIST_POINT),
6593765960
TEST_DECL(test_wolfSSL_verify_mode),
6593865961
TEST_DECL(test_wolfSSL_verify_depth),
65962+
TEST_DECL(test_wolfSSL_verify_result),
6593965963
TEST_DECL(test_wolfSSL_msg_callback),
6594065964

6594165965
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
@@ -5793,9 +5794,6 @@ struct WOLFSSL {
57935794
word32 earlyDataSz;
57945795
byte earlyDataStatus;
57955796
#endif
5796-
#ifdef OPENSSL_ALL
5797-
long verifyCallbackResult;
5798-
#endif
57995797
#if defined(OPENSSL_EXTRA)
58005798
WOLFSSL_STACK* supportedCiphers; /* Used in wolfSSL_get_ciphers_compat */
58015799
WOLFSSL_STACK* peerCertChain; /* Used in wolfSSL_get_peer_cert_chain */

0 commit comments

Comments
 (0)