Merge pull request #2480 from dgarske/nightly_20190925

Fixes for minor build issues
This commit is contained in:
Sean Parkinson
2019-09-26 17:34:21 +10:00
committed by GitHub
3 changed files with 185 additions and 101 deletions

View File

@@ -1189,7 +1189,9 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args)
#endif #endif
} }
else if (XSTRNCMP(myoptarg, "overrideDateErr", 15) == 0) { else if (XSTRNCMP(myoptarg, "overrideDateErr", 15) == 0) {
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
overrideDateErrors = 1; overrideDateErrors = 1;
#endif
} }
else { else {
Usage(); Usage();

View File

@@ -10396,7 +10396,7 @@ static int wolfSSL_parse_cipher_list(WOLFSSL_CTX* ctx, Suites* suites,
name[(length == sizeof(name)) ? length - 1 : length] = 0; name[(length == sizeof(name)) ? length - 1 : length] = 0;
/* check for "not" case */ /* check for "not" case */
if (name[0] == '!') { if (name[0] == '!' && suiteSz > 0) {
/* populate list with all suites if not already created */ /* populate list with all suites if not already created */
if (localList == NULL) { if (localList == NULL) {
for (i = 0; i < suiteSz; i++) { for (i = 0; i < suiteSz; i++) {
@@ -40287,8 +40287,11 @@ const byte* wolfSSL_SESSION_get_id(WOLFSSL_SESSION* sess, unsigned int* idLen)
return sess->sessionID; return sess->sessionID;
} }
#if defined(SESSION_CERTS) || (defined(WOLFSSL_TLS13) && \ #if (defined(HAVE_SESSION_TICKET) || defined(SESSION_CERTS)) && \
defined(HAVE_SESSION_TICKET)) !defined(NO_FILESYSTEM)
#if defined(SESSION_CERTS) || \
(defined(WOLFSSL_TLS13) && defined(HAVE_SESSION_TICKET))
/* returns a pointer to the protocol used by the session */ /* returns a pointer to the protocol used by the session */
static const char* wolfSSL_SESSION_get_protocol(const WOLFSSL_SESSION* in) static const char* wolfSSL_SESSION_get_protocol(const WOLFSSL_SESSION* in)
{ {
@@ -40296,9 +40299,6 @@ static const char* wolfSSL_SESSION_get_protocol(const WOLFSSL_SESSION* in)
} }
#endif #endif
#if (defined(HAVE_SESSION_TICKET) || defined(SESSION_CERTS)) && \
!defined(NO_FILESYSTEM)
/* returns true (non 0) if the session has EMS (extended master secret) */ /* returns true (non 0) if the session has EMS (extended master secret) */
static int wolfSSL_SESSION_haveEMS(const WOLFSSL_SESSION* in) static int wolfSSL_SESSION_haveEMS(const WOLFSSL_SESSION* in)
{ {

View File

@@ -569,9 +569,13 @@ static void test_wolfSSL_Method_Allocators(void)
#if !defined(NO_OLD_TLS) && defined(OPENSSL_EXTRA) #if !defined(NO_OLD_TLS) && defined(OPENSSL_EXTRA)
/* Stubs */ /* Stubs */
#ifndef NO_WOLFSSL_SERVER
TEST_INVALID_METHOD_ALLOCATOR(wolfSSLv2_server_method); TEST_INVALID_METHOD_ALLOCATOR(wolfSSLv2_server_method);
#endif
#ifndef NO_WOLFSSL_CLIENT
TEST_INVALID_METHOD_ALLOCATOR(wolfSSLv2_client_method); TEST_INVALID_METHOD_ALLOCATOR(wolfSSLv2_client_method);
#endif #endif
#endif
/* Test Either Method (client or server) */ /* Test Either Method (client or server) */
#if defined(OPENSSL_EXTRA) || defined(WOLFSSL_EITHER_SIDE) #if defined(OPENSSL_EXTRA) || defined(WOLFSSL_EITHER_SIDE)
@@ -837,7 +841,8 @@ static void test_wolfSSL_CTX_use_PrivateKey_file(void)
/* test both file and buffer versions along with unloading trusted peer certs */ /* test both file and buffer versions along with unloading trusted peer certs */
static void test_wolfSSL_CTX_trust_peer_cert(void) static void test_wolfSSL_CTX_trust_peer_cert(void)
{ {
#if !defined(NO_CERTS) && defined(WOLFSSL_TRUST_PEER_CERT) && !defined(NO_WOLFSSL_CLIENT) #if !defined(NO_CERTS) && defined(WOLFSSL_TRUST_PEER_CERT) && \
!defined(NO_WOLFSSL_CLIENT)
WOLFSSL_CTX *ctx; WOLFSSL_CTX *ctx;
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method())); AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()));
@@ -1103,8 +1108,8 @@ static void test_wolfSSL_CertManagerCRL(void)
static void test_wolfSSL_CTX_load_verify_locations_ex(void) static void test_wolfSSL_CTX_load_verify_locations_ex(void)
{ {
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && \ #if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && !defined(NO_RSA) && \
!defined(NO_WOLFSSL_CLIENT) && !defined(NO_RSA) !defined(NO_WOLFSSL_CLIENT)
WOLFSSL_CTX* ctx; WOLFSSL_CTX* ctx;
const char* ca_cert = "./certs/ca-cert.pem"; const char* ca_cert = "./certs/ca-cert.pem";
const char* ca_expired_cert = "./certs/test/expired/expired-ca.pem"; const char* ca_expired_cert = "./certs/test/expired/expired-ca.pem";
@@ -1131,8 +1136,7 @@ static void test_wolfSSL_CTX_load_verify_locations_ex(void)
static void test_wolfSSL_CTX_load_verify_buffer_ex(void) static void test_wolfSSL_CTX_load_verify_buffer_ex(void)
{ {
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && \ #if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && !defined(NO_RSA) && \
!defined(NO_WOLFSSL_CLIENT) && !defined(NO_RSA) && \
defined(USE_CERT_BUFFERS_2048) defined(USE_CERT_BUFFERS_2048)
WOLFSSL_CTX* ctx; WOLFSSL_CTX* ctx;
const char* ca_expired_cert_file = "./certs/test/expired/expired-ca.der"; const char* ca_expired_cert_file = "./certs/test/expired/expired-ca.der";
@@ -1140,7 +1144,12 @@ static void test_wolfSSL_CTX_load_verify_buffer_ex(void)
word32 sizeof_ca_expired_cert; word32 sizeof_ca_expired_cert;
XFILE fp; XFILE fp;
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method())); #ifndef NO_WOLFSSL_CLIENT
ctx = wolfSSL_CTX_new(wolfSSLv23_client_method());
#else
ctx = wolfSSL_CTX_new(wolfSSLv23_server_method());
#endif
AssertNotNull(ctx);
/* test good CA */ /* test good CA */
AssertTrue(WOLFSSL_SUCCESS == AssertTrue(WOLFSSL_SUCCESS ==
@@ -1175,13 +1184,15 @@ static void test_wolfSSL_CTX_load_verify_buffer_ex(void)
static void test_wolfSSL_CTX_load_verify_chain_buffer_format(void) static void test_wolfSSL_CTX_load_verify_chain_buffer_format(void)
{ {
#if !defined(NO_CERTS) && !defined(NO_WOLFSSL_CLIENT) && \ #if !defined(NO_CERTS) && !defined(NO_RSA) && defined(OPENSSL_EXTRA) && \
defined(USE_CERT_BUFFERS_2048) && defined(OPENSSL_EXTRA) && \ defined(WOLFSSL_CERT_GEN) && defined(USE_CERT_BUFFERS_2048)
defined(WOLFSSL_CERT_GEN) && !defined(NO_RSA)
WOLFSSL_CTX* ctx; WOLFSSL_CTX* ctx;
#ifndef NO_WOLFSSL_CLIENT
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method())); AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()));
#else
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_server_method()));
#endif
AssertTrue(WOLFSSL_SUCCESS == AssertTrue(WOLFSSL_SUCCESS ==
wolfSSL_CTX_load_verify_chain_buffer_format(ctx, ca_cert_chain_der, wolfSSL_CTX_load_verify_chain_buffer_format(ctx, ca_cert_chain_der,
@@ -1200,11 +1211,10 @@ static int test_wolfSSL_CTX_use_certificate_chain_file_format(void)
WOLFSSL_CTX* ctx; WOLFSSL_CTX* ctx;
#ifndef NO_WOLFSSL_CLIENT #ifndef NO_WOLFSSL_CLIENT
ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()); AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()));
#else #else
ctx = wolfSSL_CTX_new(wolfSSLv23_server_method()); AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_server_method()));
#endif #endif
AssertNotNull(ctx);
AssertIntEQ(wolfSSL_CTX_use_certificate_chain_file_format(ctx, AssertIntEQ(wolfSSL_CTX_use_certificate_chain_file_format(ctx,
server_chain_der, WOLFSSL_FILETYPE_ASN1), WOLFSSL_SUCCESS); server_chain_der, WOLFSSL_FILETYPE_ASN1), WOLFSSL_SUCCESS);
@@ -1216,11 +1226,14 @@ static int test_wolfSSL_CTX_use_certificate_chain_file_format(void)
static void test_wolfSSL_CTX_SetTmpDH_file(void) static void test_wolfSSL_CTX_SetTmpDH_file(void)
{ {
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && !defined(NO_DH) && \ #if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && !defined(NO_DH)
!defined(NO_WOLFSSL_CLIENT)
WOLFSSL_CTX *ctx; WOLFSSL_CTX *ctx;
#ifndef NO_WOLFSSL_CLIENT
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method())); AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()));
#else
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_server_method()));
#endif
/* invalid context */ /* invalid context */
AssertIntNE(WOLFSSL_SUCCESS, wolfSSL_CTX_SetTmpDH_file(NULL, AssertIntNE(WOLFSSL_SUCCESS, wolfSSL_CTX_SetTmpDH_file(NULL,
@@ -1242,10 +1255,14 @@ static void test_wolfSSL_CTX_SetTmpDH_file(void)
static void test_wolfSSL_CTX_SetTmpDH_buffer(void) static void test_wolfSSL_CTX_SetTmpDH_buffer(void)
{ {
#if !defined(NO_CERTS) && !defined(NO_DH) && !defined(NO_WOLFSSL_CLIENT) #if !defined(NO_CERTS) && !defined(NO_DH)
WOLFSSL_CTX *ctx; WOLFSSL_CTX *ctx;
#ifndef NO_WOLFSSL_CLIENT
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method())); AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()));
#else
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_server_method()));
#endif
/* invalid context */ /* invalid context */
AssertIntNE(WOLFSSL_SUCCESS, wolfSSL_CTX_SetTmpDH_buffer(NULL, dh_key_der_2048, AssertIntNE(WOLFSSL_SUCCESS, wolfSSL_CTX_SetTmpDH_buffer(NULL, dh_key_der_2048,
@@ -1267,10 +1284,14 @@ static void test_wolfSSL_CTX_SetTmpDH_buffer(void)
static void test_wolfSSL_CTX_SetMinMaxDhKey_Sz(void) static void test_wolfSSL_CTX_SetMinMaxDhKey_Sz(void)
{ {
#if !defined(NO_CERTS) && !defined(NO_DH) && !defined(NO_WOLFSSL_CLIENT) #if !defined(NO_CERTS) && !defined(NO_DH)
WOLFSSL_CTX *ctx; WOLFSSL_CTX *ctx;
#ifndef NO_WOLFSSL_CLIENT
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method())); AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()));
#else
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_server_method()));
#endif
AssertIntEQ(WOLFSSL_SUCCESS, wolfSSL_CTX_SetMinDhKey_Sz(ctx, 3072)); AssertIntEQ(WOLFSSL_SUCCESS, wolfSSL_CTX_SetMinDhKey_Sz(ctx, 3072));
@@ -1314,6 +1335,7 @@ static void test_wolfSSL_CTX_der_load_verify_locations(void)
#else #else
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_server_method()));
#endif #endif
/* Case 2 filePath NULL */ /* Case 2 filePath NULL */
AssertIntEQ(wolfSSL_CTX_der_load_verify_locations(ctx, nullPath, AssertIntEQ(wolfSSL_CTX_der_load_verify_locations(ctx, nullPath,
WOLFSSL_FILETYPE_ASN1), WOLFSSL_FAILURE); WOLFSSL_FILETYPE_ASN1), WOLFSSL_FAILURE);
@@ -1904,12 +1926,13 @@ static void test_wolfSSL_EVP_get_cipherbynid(void)
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && \ #if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && \
!defined(NO_RSA) && !defined(SINGLE_THREADED) && \ !defined(NO_RSA) && !defined(SINGLE_THREADED) && \
(!defined(NO_WOLFSSL_SERVER) || !defined(NO_WOLFSSL_CLIENT)) !defined(NO_WOLFSSL_SERVER) && !defined(NO_WOLFSSL_CLIENT)
#define HAVE_IO_TESTS_DEPENDENCIES #define HAVE_IO_TESTS_DEPENDENCIES
#endif #endif
/* helper functions */ /* helper functions */
#ifdef HAVE_IO_TESTS_DEPENDENCIES #ifdef HAVE_IO_TESTS_DEPENDENCIES
#ifdef WOLFSSL_SESSION_EXPORT #ifdef WOLFSSL_SESSION_EXPORT
/* set up function for sending session information */ /* set up function for sending session information */
static int test_export(WOLFSSL* inSsl, byte* buf, word32 sz, void* userCtx) static int test_export(WOLFSSL* inSsl, byte* buf, word32 sz, void* userCtx)
@@ -1935,10 +1958,7 @@ static int test_export(WOLFSSL* inSsl, byte* buf, word32 sz, void* userCtx)
(void)userCtx; (void)userCtx;
return WOLFSSL_SUCCESS; return WOLFSSL_SUCCESS;
} }
#endif
#if !defined(NO_WOLFSSL_CLIENT) && !defined(NO_WOLFSSL_SERVER)
#ifdef WOLFSSL_SESSION_EXPORT
/* returns negative value on fail and positive (including 0) on success */ /* returns negative value on fail and positive (including 0) on success */
static int nonblocking_accept_read(void* args, WOLFSSL* ssl, SOCKET_T* sockfd) static int nonblocking_accept_read(void* args, WOLFSSL* ssl, SOCKET_T* sockfd)
{ {
@@ -2005,7 +2025,7 @@ static int nonblocking_accept_read(void* args, WOLFSSL* ssl, SOCKET_T* sockfd)
} }
return ret; return ret;
} }
#endif #endif /* WOLFSSL_SESSION_EXPORT */
static THREAD_RETURN WOLFSSL_THREAD test_server_nofail(void* args) static THREAD_RETURN WOLFSSL_THREAD test_server_nofail(void* args)
{ {
@@ -2226,7 +2246,6 @@ done:
#endif #endif
} }
#if defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13) #if defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13)
static THREAD_RETURN WOLFSSL_THREAD test_server_loop(void* args) static THREAD_RETURN WOLFSSL_THREAD test_server_loop(void* args)
{ {
@@ -2417,7 +2436,7 @@ done:
return 0; return 0;
#endif #endif
} }
#endif //defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13) #endif /* defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13) */
typedef int (*cbType)(WOLFSSL_CTX *ctx, WOLFSSL *ssl); typedef int (*cbType)(WOLFSSL_CTX *ctx, WOLFSSL *ssl);
@@ -2815,9 +2834,7 @@ done:
return; return;
} }
#endif //defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13) #endif /* defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13) */
#endif /* !NO_WOLFSSL_CLIENT && !NO_WOLFSSL_SERVER */
/* SNI / ALPN / session export helper functions */ /* SNI / ALPN / session export helper functions */
#if defined(HAVE_SNI) || defined(HAVE_ALPN) || defined(WOLFSSL_SESSION_EXPORT) #if defined(HAVE_SNI) || defined(HAVE_ALPN) || defined(WOLFSSL_SESSION_EXPORT)
@@ -2978,7 +2995,6 @@ static THREAD_RETURN WOLFSSL_THREAD run_wolfssl_server(void* args)
#endif #endif
} }
static void run_wolfssl_client(void* args) static void run_wolfssl_client(void* args)
{ {
callback_functions* callbacks = ((func_args*)args)->callbacks; callback_functions* callbacks = ((func_args*)args)->callbacks;
@@ -3072,12 +3088,9 @@ static void run_wolfssl_client(void* args)
#endif /* defined(HAVE_SNI) || defined(HAVE_ALPN) || #endif /* defined(HAVE_SNI) || defined(HAVE_ALPN) ||
defined(WOLFSSL_SESSION_EXPORT) */ defined(WOLFSSL_SESSION_EXPORT) */
#endif /* io tests dependencies */
#if !defined(NO_WOLFSSL_CLIENT) && !defined(NO_WOLFSSL_SERVER)
static void test_wolfSSL_read_write(void) static void test_wolfSSL_read_write(void)
{ {
#ifdef HAVE_IO_TESTS_DEPENDENCIES
/* The unit testing for read and write shall happen simutaneously, since /* The unit testing for read and write shall happen simutaneously, since
* one can't do anything with one without the other. (Except for a failure * one can't do anything with one without the other. (Except for a failure
* test case.) This function will call all the others that will set up, * test case.) This function will call all the others that will set up,
@@ -3132,14 +3145,11 @@ static void test_wolfSSL_read_write(void)
#ifdef WOLFSSL_TIRTOS #ifdef WOLFSSL_TIRTOS
fdOpenSession(Task_self()); fdOpenSession(Task_self());
#endif #endif
#endif
} }
#if defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13) #if defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13)
static void test_wolfSSL_reuse_WOLFSSLobj(void) static void test_wolfSSL_reuse_WOLFSSLobj(void)
{ {
#ifdef HAVE_IO_TESTS_DEPENDENCIES
/* The unit test for session resumption by re-using WOLFSSL object. /* The unit test for session resumption by re-using WOLFSSL object.
* WOLFSSL object is not cleared after first session. It re-use the obeject * WOLFSSL object is not cleared after first session. It re-use the obeject
* for second connection. * for second connection.
@@ -3181,16 +3191,10 @@ static void test_wolfSSL_reuse_WOLFSSLobj(void)
#ifdef WOLFSSL_TIRTOS #ifdef WOLFSSL_TIRTOS
fdOpenSession(Task_self()); fdOpenSession(Task_self());
#endif #endif
#endif
} }
#endif //defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13) #endif /* defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13) */
#endif /* !NO_WOLFSSL_CLIENT && !NO_WOLFSSL_SERVER */ #if defined(WOLFSSL_DTLS) && defined(WOLFSSL_SESSION_EXPORT)
#if defined(HAVE_IO_TESTS_DEPENDENCIES) && defined(WOLFSSL_DTLS) && \
defined(WOLFSSL_SESSION_EXPORT)
/* canned export of a session using older version 3 */ /* canned export of a session using older version 3 */
static unsigned char version_3[] = { static unsigned char version_3[] = {
0xA5, 0xA3, 0x01, 0x87, 0x00, 0x3b, 0x00, 0x01, 0xA5, 0xA3, 0x01, 0x87, 0x00, 0x3b, 0x00, 0x01,
@@ -3244,13 +3248,11 @@ static unsigned char version_3[] = {
0x31, 0x32, 0x37, 0x2E, 0x30, 0x2E, 0x30, 0x2E, 0x31, 0x32, 0x37, 0x2E, 0x30, 0x2E, 0x30, 0x2E,
0x31, 0xED, 0x4F 0x31, 0xED, 0x4F
}; };
#endif /* defined(HAVE_IO_TESTS_DEPENDENCIES) && defined(WOLFSSL_DTLS) && \ #endif /* defined(WOLFSSL_DTLS) && defined(WOLFSSL_SESSION_EXPORT) */
defined(WOLFSSL_SESSION_EXPORT) */
static void test_wolfSSL_dtls_export(void) static void test_wolfSSL_dtls_export(void)
{ {
#if defined(HAVE_IO_TESTS_DEPENDENCIES) && defined(WOLFSSL_DTLS) && \ #if defined(WOLFSSL_DTLS) && defined(WOLFSSL_SESSION_EXPORT)
defined(WOLFSSL_SESSION_EXPORT)
tcp_ready ready; tcp_ready ready;
func_args client_args; func_args client_args;
func_args server_args; func_args server_args;
@@ -3418,7 +3420,6 @@ static void test_wolfSSL_dtls_export(void)
static void test_wolfSSL_client_server(callback_functions* client_callbacks, static void test_wolfSSL_client_server(callback_functions* client_callbacks,
callback_functions* server_callbacks) callback_functions* server_callbacks)
{ {
#ifdef HAVE_IO_TESTS_DEPENDENCIES
tcp_ready ready; tcp_ready ready;
func_args client_args; func_args client_args;
func_args server_args; func_args server_args;
@@ -3457,16 +3458,9 @@ static void test_wolfSSL_client_server(callback_functions* client_callbacks,
#ifdef WOLFSSL_TIRTOS #ifdef WOLFSSL_TIRTOS
fdCloseSession(Task_self()); fdCloseSession(Task_self());
#endif #endif
#else
(void)client_callbacks;
(void)server_callbacks;
#endif
} }
#endif /* defined(HAVE_SNI) || defined(HAVE_ALPN) */ #endif /* defined(HAVE_SNI) || defined(HAVE_ALPN) */
#ifdef HAVE_SNI #ifdef HAVE_SNI
static void test_wolfSSL_UseSNI_params(void) static void test_wolfSSL_UseSNI_params(void)
{ {
@@ -3789,14 +3783,22 @@ static void test_wolfSSL_UseSNI(void)
#endif #endif
} }
#endif /* HAVE_IO_TESTS_DEPENDENCIES */
static void test_wolfSSL_UseTrustedCA(void) static void test_wolfSSL_UseTrustedCA(void)
{ {
#ifdef HAVE_TRUSTED_CA #if defined(HAVE_TRUSTED_CA) && !defined(NO_CERTS) && !defined(NO_FILESYSTEM)
WOLFSSL_CTX *ctx; WOLFSSL_CTX *ctx;
WOLFSSL *ssl; WOLFSSL *ssl;
byte id[20]; byte id[20];
#ifndef NO_WOLFSSL_SERVER
AssertNotNull((ctx = wolfSSL_CTX_new(wolfSSLv23_server_method())));
AssertTrue(wolfSSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM));
#else
AssertNotNull((ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()))); AssertNotNull((ctx = wolfSSL_CTX_new(wolfSSLv23_client_method())));
#endif
AssertNotNull((ssl = wolfSSL_new(ctx))); AssertNotNull((ssl = wolfSSL_new(ctx)));
XMEMSET(id, 0, sizeof(id)); XMEMSET(id, 0, sizeof(id));
@@ -3832,8 +3834,14 @@ static void test_wolfSSL_UseTrustedCA(void)
static void test_wolfSSL_UseMaxFragment(void) static void test_wolfSSL_UseMaxFragment(void)
{ {
#if defined(HAVE_MAX_FRAGMENT) && !defined(NO_WOLFSSL_CLIENT) #if defined(HAVE_MAX_FRAGMENT) && !defined(NO_CERTS) && !defined(NO_FILESYSTEM)
#ifndef NO_WOLFSSL_SERVER
WOLFSSL_CTX* ctx = wolfSSL_CTX_new(wolfSSLv23_server_method());
AssertTrue(wolfSSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM));
#else
WOLFSSL_CTX* ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()); WOLFSSL_CTX* ctx = wolfSSL_CTX_new(wolfSSLv23_client_method());
#endif
WOLFSSL *ssl = wolfSSL_new(ctx); WOLFSSL *ssl = wolfSSL_new(ctx);
AssertNotNull(ctx); AssertNotNull(ctx);
@@ -3868,8 +3876,14 @@ static void test_wolfSSL_UseMaxFragment(void)
static void test_wolfSSL_UseTruncatedHMAC(void) static void test_wolfSSL_UseTruncatedHMAC(void)
{ {
#if defined(HAVE_TRUNCATED_HMAC) && !defined(NO_WOLFSSL_CLIENT) #if defined(HAVE_TRUNCATED_HMAC) && !defined(NO_CERTS) && !defined(NO_FILESYSTEM)
#ifndef NO_WOLFSSL_SERVER
WOLFSSL_CTX* ctx = wolfSSL_CTX_new(wolfSSLv23_server_method());
AssertTrue(wolfSSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM));
#else
WOLFSSL_CTX* ctx = wolfSSL_CTX_new(wolfSSLv23_client_method()); WOLFSSL_CTX* ctx = wolfSSL_CTX_new(wolfSSLv23_client_method());
#endif
WOLFSSL *ssl = wolfSSL_new(ctx); WOLFSSL *ssl = wolfSSL_new(ctx);
AssertNotNull(ctx); AssertNotNull(ctx);
@@ -18658,8 +18672,8 @@ static void test_wc_PemPubKeyToDer(void)
static void test_wolfSSL_certs(void) static void test_wolfSSL_certs(void)
{ {
#if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && \ #if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && !defined(NO_FILESYSTEM) && \
!defined(NO_FILESYSTEM) && !defined(NO_RSA) !defined(NO_RSA)
X509* x509; X509* x509;
WOLFSSL* ssl; WOLFSSL* ssl;
WOLFSSL_CTX* ctx; WOLFSSL_CTX* ctx;
@@ -18668,7 +18682,11 @@ static void test_wolfSSL_certs(void)
printf(testingFmt, "wolfSSL_certs()"); printf(testingFmt, "wolfSSL_certs()");
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method())); #ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(SSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(SSLv23_client_method()));
#endif
AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM));
#ifndef HAVE_USER_RSA #ifndef HAVE_USER_RSA
@@ -18824,7 +18842,7 @@ static void test_wolfSSL_certs(void)
SSL_CTX_free(ctx); SSL_CTX_free(ctx);
printf(resultFmt, passed); printf(resultFmt, passed);
#endif /* defined(OPENSSL_EXTRA) && !defined(NO_CERTS) */ #endif /* OPENSSL_EXTRA && !NO_CERTS */
} }
@@ -18952,7 +18970,11 @@ static void test_wolfSSL_private_keys(void)
OpenSSL_add_all_algorithms(); OpenSSL_add_all_algorithms();
#ifndef NO_RSA #ifndef NO_RSA
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
#endif
AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, WOLFSSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, WOLFSSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, WOLFSSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, WOLFSSL_FILETYPE_PEM));
AssertNotNull(ssl = SSL_new(ctx)); AssertNotNull(ssl = SSL_new(ctx));
@@ -19031,7 +19053,11 @@ static void test_wolfSSL_private_keys(void)
#ifdef HAVE_ECC #ifdef HAVE_ECC
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
#endif
AssertTrue(SSL_CTX_use_certificate_file(ctx, eccCertFile, AssertTrue(SSL_CTX_use_certificate_file(ctx, eccCertFile,
WOLFSSL_FILETYPE_PEM)); WOLFSSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, eccKeyFile, AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, eccKeyFile,
@@ -19053,7 +19079,11 @@ static void test_wolfSSL_private_keys(void)
#endif /* end of ECC private key match tests */ #endif /* end of ECC private key match tests */
#ifdef HAVE_ED25519 #ifdef HAVE_ED25519
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
#endif
AssertTrue(SSL_CTX_use_certificate_file(ctx, edCertFile, AssertTrue(SSL_CTX_use_certificate_file(ctx, edCertFile,
WOLFSSL_FILETYPE_PEM)); WOLFSSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, edKeyFile, AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, edKeyFile,
@@ -19091,8 +19121,7 @@ static void test_wolfSSL_private_keys(void)
static void test_wolfSSL_PEM_PrivateKey(void) static void test_wolfSSL_PEM_PrivateKey(void)
{ {
#if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && \ #if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && \
(!defined(NO_RSA) || defined(HAVE_ECC)) && \ (!defined(NO_RSA) || defined(HAVE_ECC)) && defined(USE_CERT_BUFFERS_2048)
defined(USE_CERT_BUFFERS_2048)
BIO* bio = NULL; BIO* bio = NULL;
EVP_PKEY* pkey = NULL; EVP_PKEY* pkey = NULL;
@@ -19224,9 +19253,17 @@ static void test_wolfSSL_PEM_PrivateKey(void)
char passwd[] = "bad password"; char passwd[] = "bad password";
#ifndef WOLFSSL_NO_TLS12 #ifndef WOLFSSL_NO_TLS12
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(TLSv1_2_server_method())); AssertNotNull(ctx = SSL_CTX_new(TLSv1_2_server_method()));
#else #else
AssertNotNull(ctx = SSL_CTX_new(TLSv1_2_client_method()));
#endif
#else
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfTLSv1_3_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfTLSv1_3_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfTLSv1_3_client_method()));
#endif
#endif #endif
AssertNotNull(bio = BIO_new_file("./certs/server-keyEnc.pem", "rb")); AssertNotNull(bio = BIO_new_file("./certs/server-keyEnc.pem", "rb"));
@@ -19269,9 +19306,17 @@ static void test_wolfSSL_PEM_PrivateKey(void)
SSL_CTX* ctx; SSL_CTX* ctx;
#ifndef WOLFSSL_NO_TLS12 #ifndef WOLFSSL_NO_TLS12
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(TLSv1_2_server_method())); AssertNotNull(ctx = SSL_CTX_new(TLSv1_2_server_method()));
#else #else
AssertNotNull(ctx = SSL_CTX_new(TLSv1_2_client_method()));
#endif
#else
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfTLSv1_3_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfTLSv1_3_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfTLSv1_3_client_method()));
#endif
#endif #endif
f = XFOPEN("./certs/ecc-key.der", "rb"); f = XFOPEN("./certs/ecc-key.der", "rb");
@@ -19376,9 +19421,8 @@ static void test_wolfSSL_PEM_PUBKEY(void)
static void test_wolfSSL_tmp_dh(void) static void test_wolfSSL_tmp_dh(void)
{ {
#if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && \ #if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && !defined(NO_FILESYSTEM) && \
!defined(NO_FILESYSTEM) && !defined(NO_DSA) && !defined(NO_RSA) && \ !defined(NO_DSA) && !defined(NO_RSA) && !defined(NO_DH)
!defined(NO_DH)
byte buffer[5300]; byte buffer[5300];
char file[] = "./certs/dsaparams.pem"; char file[] = "./certs/dsaparams.pem";
XFILE f; XFILE f;
@@ -19391,7 +19435,11 @@ static void test_wolfSSL_tmp_dh(void)
printf(testingFmt, "wolfSSL_tmp_dh()"); printf(testingFmt, "wolfSSL_tmp_dh()");
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
#endif
AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, WOLFSSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, WOLFSSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, WOLFSSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, WOLFSSL_FILETYPE_PEM));
AssertNotNull(ssl = SSL_new(ctx)); AssertNotNull(ssl = SSL_new(ctx));
@@ -19420,7 +19468,7 @@ static void test_wolfSSL_tmp_dh(void)
SSL_CTX_free(ctx); SSL_CTX_free(ctx);
printf(resultFmt, passed); printf(resultFmt, passed);
#endif /* defined(OPENSSL_EXTRA) && !defined(NO_CERTS) */ #endif
} }
static void test_wolfSSL_ctrl(void) static void test_wolfSSL_ctrl(void)
@@ -19833,7 +19881,11 @@ static void test_wolfSSL_CTX_add_extra_chain_cert(void)
printf(testingFmt, "wolfSSL_CTX_add_extra_chain_cert()"); printf(testingFmt, "wolfSSL_CTX_add_extra_chain_cert()");
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
#endif
x509 = wolfSSL_X509_load_certificate_file(caFile, WOLFSSL_FILETYPE_PEM); x509 = wolfSSL_X509_load_certificate_file(caFile, WOLFSSL_FILETYPE_PEM);
AssertNotNull(x509); AssertNotNull(x509);
@@ -20252,7 +20304,11 @@ static void test_wolfSSL_get0_param(void)
printf(testingFmt, "wolfSSL_get0_param()"); printf(testingFmt, "wolfSSL_get0_param()");
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
#endif
AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM));
AssertNotNull(ssl = SSL_new(ctx)); AssertNotNull(ssl = SSL_new(ctx));
@@ -20322,7 +20378,8 @@ static void test_wolfSSL_X509_STORE_CTX_get0_store(void)
static void test_wolfSSL_CTX_set_client_CA_list(void) static void test_wolfSSL_CTX_set_client_CA_list(void)
{ {
#if defined(OPENSSL_EXTRA) && !defined(NO_RSA) && !defined(NO_CERTS) #if defined(OPENSSL_EXTRA) && !defined(NO_RSA) && !defined(NO_CERTS) && \
!defined(NO_WOLFSSL_CLIENT)
WOLFSSL_CTX* ctx; WOLFSSL_CTX* ctx;
WOLF_STACK_OF(WOLFSSL_X509_NAME)* names = NULL; WOLF_STACK_OF(WOLFSSL_X509_NAME)* names = NULL;
WOLF_STACK_OF(WOLFSSL_X509_NAME)* ca_list = NULL; WOLF_STACK_OF(WOLFSSL_X509_NAME)* ca_list = NULL;
@@ -20335,12 +20392,13 @@ static void test_wolfSSL_CTX_set_client_CA_list(void)
AssertNotNull(ca_list = wolfSSL_SSL_CTX_get_client_CA_list(ctx)); AssertNotNull(ca_list = wolfSSL_SSL_CTX_get_client_CA_list(ctx));
wolfSSL_CTX_free(ctx); wolfSSL_CTX_free(ctx);
printf(resultFmt, passed); printf(resultFmt, passed);
#endif /* OPENSSL_EXTRA && !NO_RSA && !NO_CERTS */ #endif /* OPENSSL_EXTRA && !NO_RSA && !NO_CERTS && !NO_WOLFSSL_CLIENT */
} }
static void test_wolfSSL_CTX_add_client_CA(void) static void test_wolfSSL_CTX_add_client_CA(void)
{ {
#if defined(OPENSSL_EXTRA) && !defined(NO_RSA) && !defined(NO_CERTS) #if defined(OPENSSL_EXTRA) && !defined(NO_RSA) && !defined(NO_CERTS) && \
!defined(NO_WOLFSSL_CLIENT)
WOLFSSL_CTX* ctx; WOLFSSL_CTX* ctx;
WOLFSSL_X509* x509; WOLFSSL_X509* x509;
WOLFSSL_X509* x509_a; WOLFSSL_X509* x509_a;
@@ -20365,7 +20423,7 @@ static void test_wolfSSL_CTX_add_client_CA(void)
wolfSSL_CTX_free(ctx); wolfSSL_CTX_free(ctx);
printf(resultFmt, passed); printf(resultFmt, passed);
#endif /* OPENSSL_EXTRA && !NO_RSA && !NO_CERTS */ #endif /* OPENSSL_EXTRA && !NO_RSA && !NO_CERTS && !NO_WOLFSSL_CLIENT */
} }
static void test_wolfSSL_X509_NID(void) static void test_wolfSSL_X509_NID(void)
@@ -20550,7 +20608,11 @@ static void test_wolfSSL_X509_STORE_load_locations(void)
printf(testingFmt, "wolfSSL_X509_STORE_load_locations"); printf(testingFmt, "wolfSSL_X509_STORE_load_locations");
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(SSLv23_server_method())); AssertNotNull(ctx = SSL_CTX_new(SSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(SSLv23_client_method()));
#endif
AssertNotNull(store = SSL_CTX_get_cert_store(ctx)); AssertNotNull(store = SSL_CTX_get_cert_store(ctx));
AssertIntEQ(wolfSSL_CertManagerLoadCA(store->cm, ca_file, NULL), WOLFSSL_SUCCESS); AssertIntEQ(wolfSSL_CertManagerLoadCA(store->cm, ca_file, NULL), WOLFSSL_SUCCESS);
@@ -20745,7 +20807,8 @@ static void msg_cb(int write_p, int version, int content_type,
#if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && \ #if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && \
!defined(NO_FILESYSTEM) && defined(DEBUG_WOLFSSL) && \ !defined(NO_FILESYSTEM) && defined(DEBUG_WOLFSSL) && \
defined(HAVE_IO_TESTS_DEPENDENCIES) defined(HAVE_IO_TESTS_DEPENDENCIES) && !defined(NO_WOLFSSL_CLIENT) && \
!defined(NO_WOLFSSL_SERVER)
#ifndef SINGLE_THREADED #ifndef SINGLE_THREADED
#if defined(SESSION_CERTS) #if defined(SESSION_CERTS)
#include "wolfssl/internal.h" #include "wolfssl/internal.h"
@@ -21003,7 +21066,11 @@ static void test_wolfSSL_set_options(void)
printf(testingFmt, "wolfSSL_set_options()"); printf(testingFmt, "wolfSSL_set_options()");
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
#endif
AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM));
@@ -21023,7 +21090,11 @@ static void test_wolfSSL_set_options(void)
SSL_CTX_free(ctx); SSL_CTX_free(ctx);
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
#endif
AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM));
@@ -21077,7 +21148,11 @@ static void test_wolfSSL_sk_SSL_CIPHER(void)
printf(testingFmt, "wolfSSL_sk_SSL_CIPHER_*()"); printf(testingFmt, "wolfSSL_sk_SSL_CIPHER_*()");
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
#endif
AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, SSL_FILETYPE_PEM));
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM)); AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, SSL_FILETYPE_PEM));
AssertNotNull(ssl = SSL_new(ctx)); AssertNotNull(ssl = SSL_new(ctx));
@@ -23171,7 +23246,11 @@ static void test_wolfSSL_d2i_PrivateKeys_bio(void)
#endif #endif
AssertNotNull(bio = BIO_new(BIO_s_mem())); AssertNotNull(bio = BIO_new(BIO_s_mem()));
#ifndef NO_WOLFSSL_SERVER
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method()));
#else
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
#endif
#ifndef NO_RSA #ifndef NO_RSA
/* Tests bad parameters */ /* Tests bad parameters */
@@ -23448,7 +23527,7 @@ static void test_wolfSSL_RSA_get0_key(void)
static void test_wolfSSL_verify_depth(void) static void test_wolfSSL_verify_depth(void)
{ {
#if defined(OPENSSL_EXTRA) && !defined(NO_RSA) #if defined(OPENSSL_EXTRA) && !defined(NO_RSA) && !defined(NO_WOLFSSL_CLIENT)
WOLFSSL* ssl; WOLFSSL* ssl;
WOLFSSL_CTX* ctx; WOLFSSL_CTX* ctx;
long depth; long depth;
@@ -23654,7 +23733,7 @@ static void test_wolfSSL_HMAC_CTX(void)
#endif #endif
} }
#if defined(OPENSSL_EXTRA) && !defined(NO_RSA) #if defined(OPENSSL_EXTRA) && !defined(NO_RSA) && !defined(NO_WOLFSSL_CLIENT)
static void sslMsgCb(int w, int version, int type, const void* buf, static void sslMsgCb(int w, int version, int type, const void* buf,
size_t sz, SSL* ssl, void* arg) size_t sz, SSL* ssl, void* arg)
{ {
@@ -23672,7 +23751,7 @@ static void sslMsgCb(int w, int version, int type, const void* buf,
static void test_wolfSSL_msg_callback(void) static void test_wolfSSL_msg_callback(void)
{ {
#if defined(OPENSSL_EXTRA) && !defined(NO_RSA) #if defined(OPENSSL_EXTRA) && !defined(NO_RSA) && !defined(NO_WOLFSSL_CLIENT)
WOLFSSL* ssl; WOLFSSL* ssl;
WOLFSSL_CTX* ctx; WOLFSSL_CTX* ctx;
@@ -27649,18 +27728,21 @@ void ApiTest(void)
test_wolfSSL_SetTmpDH_buffer(); test_wolfSSL_SetTmpDH_buffer();
test_wolfSSL_SetMinMaxDhKey_Sz(); test_wolfSSL_SetMinMaxDhKey_Sz();
test_SetTmpEC_DHE_Sz(); test_SetTmpEC_DHE_Sz();
#if !defined(NO_WOLFSSL_CLIENT) && !defined(NO_WOLFSSL_SERVER) #if !defined(NO_WOLFSSL_CLIENT) && !defined(NO_WOLFSSL_SERVER) && \
defined(HAVE_IO_TESTS_DEPENDENCIES)
test_wolfSSL_read_write(); test_wolfSSL_read_write();
#if defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13) #if defined(OPENSSL_EXTRA) && !defined(NO_SESSION_CACHE) && !defined(WOLFSSL_TLS13)
test_wolfSSL_reuse_WOLFSSLobj(); test_wolfSSL_reuse_WOLFSSLobj();
#endif
#endif #endif
test_wolfSSL_dtls_export(); test_wolfSSL_dtls_export();
#endif
AssertIntEQ(test_wolfSSL_SetMinVersion(), WOLFSSL_SUCCESS); AssertIntEQ(test_wolfSSL_SetMinVersion(), WOLFSSL_SUCCESS);
AssertIntEQ(test_wolfSSL_CTX_SetMinVersion(), WOLFSSL_SUCCESS); AssertIntEQ(test_wolfSSL_CTX_SetMinVersion(), WOLFSSL_SUCCESS);
/* TLS extensions tests */ /* TLS extensions tests */
#ifdef HAVE_IO_TESTS_DEPENDENCIES
test_wolfSSL_UseSNI(); test_wolfSSL_UseSNI();
#endif
test_wolfSSL_UseTrustedCA(); test_wolfSSL_UseTrustedCA();
test_wolfSSL_UseMaxFragment(); test_wolfSSL_UseMaxFragment();
test_wolfSSL_UseTruncatedHMAC(); test_wolfSSL_UseTruncatedHMAC();