Skip to content

Commit b736d78

Browse files
authored
Merge pull request #7948 from anhu/MATCH_SUITE
Convert MATCH_SUITE_ERROR to OpenSSL error in wolfSSL_get_error()
2 parents de3c45a + 9e204dc commit b736d78

2 files changed

Lines changed: 22 additions & 4 deletions

File tree

src/ssl.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4132,10 +4132,10 @@ int wolfSSL_get_error(WOLFSSL* ssl, int ret)
41324132
return WOLFSSL_ERROR_WANT_WRITE; /* convert to OpenSSL type */
41334133
else if (ssl->error == WC_NO_ERR_TRACE(ZERO_RETURN) ||
41344134
ssl->options.shutdownDone)
4135-
{
41364135
return WOLFSSL_ERROR_ZERO_RETURN; /* convert to OpenSSL type */
4137-
}
41384136
#ifdef OPENSSL_EXTRA
4137+
else if (ssl->error == WC_NO_ERR_TRACE(MATCH_SUITE_ERROR))
4138+
return WOLFSSL_ERROR_SYSCALL; /* convert to OpenSSL type */
41394139
else if (ssl->error == WC_NO_ERR_TRACE(SOCKET_PEER_CLOSED_E))
41404140
return WOLFSSL_ERROR_SYSCALL; /* convert to OpenSSL type */
41414141
#endif

tests/api.c

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61312,11 +61312,23 @@ static int test_wolfSSL_curves_mismatch(void)
6131261312
#endif
6131361313
#ifndef WOLFSSL_NO_TLS12
6131461314
{wolfTLSv1_2_client_method, wolfTLSv1_2_server_method, "TLS 1.2",
61315-
WC_NO_ERR_TRACE(FATAL_ERROR), WC_NO_ERR_TRACE(MATCH_SUITE_ERROR)},
61315+
WC_NO_ERR_TRACE(FATAL_ERROR),
61316+
#ifdef OPENSSL_EXTRA
61317+
WC_NO_ERR_TRACE(WOLFSSL_ERROR_SYSCALL)
61318+
#else
61319+
WC_NO_ERR_TRACE(MATCH_SUITE_ERROR)
61320+
#endif
61321+
},
6131661322
#endif
6131761323
#ifndef NO_OLD_TLS
6131861324
{wolfTLSv1_1_client_method, wolfTLSv1_1_server_method, "TLS 1.1",
61319-
WC_NO_ERR_TRACE(FATAL_ERROR), WC_NO_ERR_TRACE(MATCH_SUITE_ERROR)},
61325+
WC_NO_ERR_TRACE(FATAL_ERROR),
61326+
#ifdef OPENSSL_EXTRA
61327+
WC_NO_ERR_TRACE(WOLFSSL_ERROR_SYSCALL)
61328+
#else
61329+
WC_NO_ERR_TRACE(MATCH_SUITE_ERROR)
61330+
#endif
61331+
},
6132061332
#endif
6132161333
};
6132261334

@@ -90059,8 +90071,14 @@ static int test_wrong_cs_downgrade(void)
9005990071
test_ctx.c_len = sizeof(test_wrong_cs_downgrade_sh);
9006090072

9006190073
ExpectIntNE(wolfSSL_connect(ssl_c), WOLFSSL_SUCCESS);
90074+
#ifdef OPENSSL_EXTRA
90075+
ExpectIntEQ(wolfSSL_get_error(ssl_c, WC_NO_ERR_TRACE(WOLFSSL_FATAL_ERROR)),
90076+
WC_NO_ERR_TRACE(WOLFSSL_ERROR_SYSCALL));
90077+
#else
9006290078
ExpectIntEQ(wolfSSL_get_error(ssl_c, WC_NO_ERR_TRACE(WOLFSSL_FATAL_ERROR)),
9006390079
WC_NO_ERR_TRACE(MATCH_SUITE_ERROR));
90080+
#endif /* OPENSSL_EXTRA */
90081+
9006490082

9006590083
wolfSSL_free(ssl_c);
9006690084
wolfSSL_CTX_free(ctx_c);

0 commit comments

Comments
 (0)