mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-10 20:40:50 +02:00
Merge pull request #9721 from dgarske/x25519_nb
Add X25519 non-blocking support and async example improvements
This commit is contained in:
+11
-4
@@ -59,6 +59,7 @@
|
||||
|
||||
#include <wolfssl/ssl.h> /* compatibility layer */
|
||||
#include <wolfssl/error-ssl.h>
|
||||
#include <wolfssl/wolfcrypt/error-crypt.h>
|
||||
|
||||
#include <wolfssl/test.h>
|
||||
#include <tests/utils.h>
|
||||
@@ -4811,8 +4812,11 @@ int test_ssl_memio_do_handshake(test_ssl_memio_ctx* ctx, int max_rounds,
|
||||
}
|
||||
else {
|
||||
err = wolfSSL_get_error(ctx->c_ssl, ret);
|
||||
if (err != WOLFSSL_ERROR_WANT_READ &&
|
||||
err != WOLFSSL_ERROR_WANT_WRITE) {
|
||||
if (err == WC_NO_ERR_TRACE(MP_WOULDBLOCK)) {
|
||||
/* retry non-blocking math */
|
||||
}
|
||||
else if (err != WOLFSSL_ERROR_WANT_READ &&
|
||||
err != WOLFSSL_ERROR_WANT_WRITE) {
|
||||
char buff[WOLFSSL_MAX_ERROR_SZ];
|
||||
fprintf(stderr, "error = %d, %s\n", err,
|
||||
wolfSSL_ERR_error_string((word32)err, buff));
|
||||
@@ -4833,8 +4837,11 @@ int test_ssl_memio_do_handshake(test_ssl_memio_ctx* ctx, int max_rounds,
|
||||
}
|
||||
else {
|
||||
err = wolfSSL_get_error(ctx->s_ssl, ret);
|
||||
if (err != WOLFSSL_ERROR_WANT_READ &&
|
||||
err != WOLFSSL_ERROR_WANT_WRITE) {
|
||||
if (err == WC_NO_ERR_TRACE(MP_WOULDBLOCK)) {
|
||||
/* retry non-blocking math */
|
||||
}
|
||||
else if (err != WOLFSSL_ERROR_WANT_READ &&
|
||||
err != WOLFSSL_ERROR_WANT_WRITE) {
|
||||
char buff[WOLFSSL_MAX_ERROR_SZ];
|
||||
fprintf(stderr, "error = %d, %s\n", err,
|
||||
wolfSSL_ERR_error_string((word32)err, buff));
|
||||
|
||||
+19
-5
@@ -21,6 +21,7 @@
|
||||
|
||||
#include <tests/unit.h>
|
||||
#include <tests/utils.h>
|
||||
#include <wolfssl/wolfcrypt/error-crypt.h>
|
||||
|
||||
#ifdef HAVE_MANUAL_MEMIO_TESTS_DEPENDENCIES
|
||||
|
||||
@@ -182,9 +183,16 @@ int test_memio_do_handshake(WOLFSSL *ssl_c, WOLFSSL *ssl_s,
|
||||
}
|
||||
else {
|
||||
err = wolfSSL_get_error(ssl_c, ret);
|
||||
if (err != WOLFSSL_ERROR_WANT_READ &&
|
||||
err != WOLFSSL_ERROR_WANT_WRITE)
|
||||
if (err == WC_NO_ERR_TRACE(MP_WOULDBLOCK)) {
|
||||
/* retry non-blocking math */
|
||||
}
|
||||
else if (err != WOLFSSL_ERROR_WANT_READ &&
|
||||
err != WOLFSSL_ERROR_WANT_WRITE) {
|
||||
char buff[WOLFSSL_MAX_ERROR_SZ];
|
||||
fprintf(stderr, "memio client error = %d, %s\n", err,
|
||||
wolfSSL_ERR_error_string((word32)err, buff));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!hs_s) {
|
||||
@@ -196,9 +204,16 @@ int test_memio_do_handshake(WOLFSSL *ssl_c, WOLFSSL *ssl_s,
|
||||
}
|
||||
else {
|
||||
err = wolfSSL_get_error(ssl_s, ret);
|
||||
if (err != WOLFSSL_ERROR_WANT_READ &&
|
||||
err != WOLFSSL_ERROR_WANT_WRITE)
|
||||
if (err == WC_NO_ERR_TRACE(MP_WOULDBLOCK)) {
|
||||
/* retry non-blocking math */
|
||||
}
|
||||
else if (err != WOLFSSL_ERROR_WANT_READ &&
|
||||
err != WOLFSSL_ERROR_WANT_WRITE) {
|
||||
char buff[WOLFSSL_MAX_ERROR_SZ];
|
||||
fprintf(stderr, "memio server error = %d, %s\n", err,
|
||||
wolfSSL_ERR_error_string((word32)err, buff));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
handshake_complete = hs_c && hs_s;
|
||||
@@ -792,4 +807,3 @@ void DEBUG_WRITE_DER(const byte* der, int derSz, const char* fileName)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user