Skip to content

Commit 9e204dc

Browse files
committed
Convert MATCH_SUITE_ERROR to OpenSSL error in wolfSSL_get_error()
1 parent a3fea48 commit 9e204dc

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
@@ -4133,10 +4133,10 @@ int wolfSSL_get_error(WOLFSSL* ssl, int ret)
41334133
return WOLFSSL_ERROR_WANT_WRITE; /* convert to OpenSSL type */
41344134
else if (ssl->error == WC_NO_ERR_TRACE(ZERO_RETURN) ||
41354135
ssl->options.shutdownDone)
4136-
{
41374136
return WOLFSSL_ERROR_ZERO_RETURN; /* convert to OpenSSL type */
4138-
}
41394137
#ifdef OPENSSL_EXTRA
4138+
else if (ssl->error == WC_NO_ERR_TRACE(MATCH_SUITE_ERROR))
4139+
return WOLFSSL_ERROR_SYSCALL; /* convert to OpenSSL type */
41404140
else if (ssl->error == WC_NO_ERR_TRACE(SOCKET_PEER_CLOSED_E))
41414141
return WOLFSSL_ERROR_SYSCALL; /* convert to OpenSSL type */
41424142
#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

@@ -89952,8 +89964,14 @@ static int test_wrong_cs_downgrade(void)
8995289964
test_ctx.c_len = sizeof(test_wrong_cs_downgrade_sh);
8995389965

8995489966
ExpectIntNE(wolfSSL_connect(ssl_c), WOLFSSL_SUCCESS);
89967+
#ifdef OPENSSL_EXTRA
89968+
ExpectIntEQ(wolfSSL_get_error(ssl_c, WC_NO_ERR_TRACE(WOLFSSL_FATAL_ERROR)),
89969+
WC_NO_ERR_TRACE(WOLFSSL_ERROR_SYSCALL));
89970+
#else
8995589971
ExpectIntEQ(wolfSSL_get_error(ssl_c, WC_NO_ERR_TRACE(WOLFSSL_FATAL_ERROR)),
8995689972
WC_NO_ERR_TRACE(MATCH_SUITE_ERROR));
89973+
#endif /* OPENSSL_EXTRA */
89974+
8995789975

8995889976
wolfSSL_free(ssl_c);
8995989977
wolfSSL_CTX_free(ctx_c);

0 commit comments

Comments
 (0)