From 1396c462812c638f2bb9523a926c9b45aa4cc8b3 Mon Sep 17 00:00:00 2001 From: Eric Blankenhorn Date: Thu, 14 Oct 2021 09:06:54 -0500 Subject: [PATCH 1/4] Fix build errors with NO_BIO config --- src/internal.c | 4 ++-- src/ssl.c | 38 ++++++++++++++++++++------------------ wolfcrypt/src/evp.c | 4 ++-- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/internal.c b/src/internal.c index a8232a9c5..53cb1f315 100644 --- a/src/internal.c +++ b/src/internal.c @@ -5986,12 +5986,12 @@ int SetSSL_CTX(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup) #ifdef OPENSSL_EXTRA ssl->readAhead = ctx->readAhead; #endif -#ifdef OPENSSL_EXTRA +#if defined(OPENSSL_EXTRA) && !defined(NO_BIO) /* Don't change recv callback if currently using BIO's */ if (ssl->CBIORecv != BioReceive) #endif ssl->CBIORecv = ctx->CBIORecv; -#ifdef OPENSSL_EXTRA +#if defined(OPENSSL_EXTRA) && !defined(NO_BIO) /* Don't change send callback if currently using BIO's */ if (ssl->CBIOSend != BioSend) #endif diff --git a/src/ssl.c b/src/ssl.c index fb450b17c..806242987 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -26223,6 +26223,7 @@ WOLFSSL_X509_CRL *wolfSSL_d2i_X509_CRL_fp(XFILE fp, WOLFSSL_X509_CRL **crl) return (WOLFSSL_X509_CRL *)wolfSSL_d2i_X509_fp_ex(fp, (void **)crl, CRL_TYPE); } +#ifndef NO_BIO /* Read CRL file, and add it to store and corresponding cert manager */ /* @param ctx a pointer of X509_LOOKUP back to the X509_STORE */ /* @param file a file to read */ @@ -26297,6 +26298,7 @@ WOLFSSL_API int wolfSSL_X509_load_crl_file(WOLFSSL_X509_LOOKUP *ctx, WOLFSSL_LEAVE("wolfSSL_X509_load_crl_file", ret); return ret; } +#endif /* !NO_BIO */ #endif /* !NO_FILESYSTEM */ @@ -29901,9 +29903,8 @@ int wolfSSL_AES_unwrap_key(AES_KEY *key, const unsigned char *iv, #endif /* HAVE_AES_KEYWRAP && !HAVE_FIPS && !HAVE_SELFTEST */ #endif /* NO_AES */ -#ifndef NO_BIO - #ifndef NO_ASN_TIME +#ifndef NO_BIO int wolfSSL_ASN1_UTCTIME_print(WOLFSSL_BIO* bio, const WOLFSSL_ASN1_UTCTIME* a) { WOLFSSL_ENTER("ASN1_UTCTIME_print"); @@ -35460,7 +35461,7 @@ int wolfSSL_PEM_write_bio_RSAPrivateKey(WOLFSSL_BIO* bio, WOLFSSL_RSA* key, XMEMCPY(pkey->pkey.ptr, derBuf, derSz); XFREE(derBuf, bio->heap, DYNAMIC_TYPE_TMP_BUFFER); } -#endif +#endif /* WOLFSSL_KEY_GEN && !NO_RSA && !HAVE_USER_RSA */ ret = wolfSSL_PEM_write_bio_PrivateKey(bio, pkey, cipher, passwd, len, cb, arg); @@ -35505,7 +35506,7 @@ int wolfSSL_PEM_write_bio_RSA_PUBKEY(WOLFSSL_BIO* bio, WOLFSSL_RSA* rsa) return ret; } -#endif +#endif /* WOLFSSL_KEY_GEN && !NO_RSA && !HAVE_USER_RSA */ /* Reads an RSA public key from a WOLFSSL_BIO into a WOLFSSL_RSA @@ -35561,7 +35562,7 @@ static int WriteBioPUBKEY(WOLFSSL_BIO* bio, WOLFSSL_EVP_PKEY* key) break; } break; -#endif +#endif /* WOLFSSL_KEY_GEN && !NO_RSA && !HAVE_USER_RSA */ #if !defined(NO_DSA) && !defined(HAVE_SELFTEST) && (defined(WOLFSSL_KEY_GEN) || \ defined(WOLFSSL_CERT_GEN)) case EVP_PKEY_DSA: @@ -35583,7 +35584,7 @@ static int WriteBioPUBKEY(WOLFSSL_BIO* bio, WOLFSSL_EVP_PKEY* key) break; } break; -#endif +#endif /* !NO_DSA && !HAVE_SELFTEST && (WOLFSSL_KEY_GEN || WOLFSSL_CERT_GEN) */ #if defined(HAVE_ECC) && defined(HAVE_ECC_KEY_EXPORT) case EVP_PKEY_EC: { @@ -35609,12 +35610,12 @@ static int WriteBioPUBKEY(WOLFSSL_BIO* bio, WOLFSSL_EVP_PKEY* key) } break; } -#endif +#endif /* HAVE_ECC && HAVE_ECC_KEY_EXPORT */ #if !defined(NO_DH) && (defined(WOLFSSL_QT) || defined(OPENSSL_ALL)) case EVP_PKEY_DH: WOLFSSL_MSG("Writing DH PUBKEY not supported!"); break; -#endif +#endif /* !NO_DH && (WOLFSSL_QT || OPENSSL_ALL) */ default: WOLFSSL_MSG("Unknown Key type!"); break; @@ -39324,7 +39325,7 @@ static int pem_read_bio_key(WOLFSSL_BIO* bio, pem_password_cb* cb, void* pass, ret = MEMORY_E; } } -#endif +#endif /* WOLFSSL_SMALL_STACK */ if (ret >= 0) { XMEMSET(info, 0, sizeof(EncryptedInfo)); @@ -39554,7 +39555,8 @@ WOLFSSL_DSA *wolfSSL_PEM_read_bio_DSA_PUBKEY(WOLFSSL_BIO* bio,WOLFSSL_DSA** dsa, wolfSSL_EVP_PKEY_free(pkey); return local; } -#endif +#endif /* (OPENSSL_EXTRA || OPENSSL_ALL) && (!NO_CERTS && + !NO_FILESYSTEM && !NO_DSA && WOLFSSL_KEY_GEN) */ #ifdef HAVE_ECC /* returns a new WOLFSSL_EC_GROUP structure on success and NULL on fail */ @@ -46055,7 +46057,7 @@ WOLFSSL_RSA* wolfSSL_d2i_RSAPrivateKey_bio(WOLFSSL_BIO *bio, WOLFSSL_RSA **out) XFREE((unsigned char*)maxKeyBuf, bio->heap, DYNAMIC_TYPE_TMP_BUFFER); return key; } -#endif +#endif /* !HAVE_FAST_RSA && WOLFSSL_KEY_GEN && !NO_RSA && !HAVE_USER_RSA */ #endif /* !NO_BIO */ @@ -50264,7 +50266,7 @@ int wolfSSL_set_alpn_protos(WOLFSSL* ssl, } #endif /* !NO_BIO */ #endif /* HAVE_ALPN */ -#endif +#endif /* OPENSSL_EXTRA */ #if defined(OPENSSL_EXTRA) @@ -55576,7 +55578,7 @@ void wolfSSL_BUF_MEM_free(WOLFSSL_BUF_MEM* buf) * START OF TXT_DB API ******************************************************************************/ -#if defined(OPENSSL_ALL) +#if defined(OPENSSL_ALL) && !defined(NO_BIO) /** * This function reads a tab delimetered CSV input and returns * a populated WOLFSSL_TXT_DB structure. @@ -55838,7 +55840,7 @@ WOLFSSL_STRING *wolfSSL_TXT_DB_get_by_index(WOLFSSL_TXT_DB *db, int idx, return (WOLFSSL_STRING*) wolfSSL_lh_retrieve(db->data, value); } -#endif /* OPENSSL_ALL */ +#endif /* OPENSSL_ALL && !NO_BIO */ /******************************************************************************* * END OF TXT_DB API @@ -58047,7 +58049,7 @@ void *wolfSSL_BIO_get_ex_data(WOLFSSL_BIO *bio, int idx) #endif #endif -#ifdef OPENSSL_EXTRA +#if defined(OPENSSL_EXTRA) && !defined(NO_BIO) /* returns amount printed on success, negative in fail case */ int wolfSSL_BIO_vprintf(WOLFSSL_BIO* bio, const char* format, va_list args) { @@ -58071,7 +58073,7 @@ int wolfSSL_BIO_vprintf(WOLFSSL_BIO* bio, const char* format, va_list args) /* In Visual Studio versions prior to Visual Studio 2013, the va_* symbols aren't defined. If using Visual Studio 2013 or later, define HAVE_VA_COPY. */ - #if defined(OPENSSL_EXTRA) && (!defined(_WIN32) || defined(HAVE_VA_COPY)) + #if !defined(_WIN32) || defined(HAVE_VA_COPY) case WOLFSSL_BIO_SSL: { int count; @@ -58102,7 +58104,7 @@ int wolfSSL_BIO_vprintf(WOLFSSL_BIO* bio, const char* format, va_list args) va_end(copy); } break; - #endif + #endif /* !_WIN32 || HAVE_VA_COPY */ default: WOLFSSL_MSG("Unsupported WOLFSSL_BIO type for wolfSSL_BIO_printf"); @@ -58125,7 +58127,7 @@ int wolfSSL_BIO_printf(WOLFSSL_BIO* bio, const char* format, ...) return ret; } -#endif /* OPENSSL_EXTRA */ +#endif /* OPENSSL_EXTRA && !NO_BIO */ #if !defined(NO_FILESYSTEM) && defined(__clang__) #pragma clang diagnostic pop diff --git a/wolfcrypt/src/evp.c b/wolfcrypt/src/evp.c index 8a0bee3dd..43a873c36 100644 --- a/wolfcrypt/src/evp.c +++ b/wolfcrypt/src/evp.c @@ -7805,7 +7805,7 @@ void wolfSSL_EVP_PKEY_free(WOLFSSL_EVP_PKEY* key) } } } -#if defined(OPENSSL_EXTRA) +#if defined(OPENSSL_EXTRA) && !defined(NO_BIO) /* Indent writes white spaces of the number specified by "indents" * to the BIO. The number of white spaces is limited from 0 to @@ -8685,7 +8685,7 @@ int wolfSSL_EVP_PKEY_print_public(WOLFSSL_BIO* out, } return res; } -#endif /* OPENSSL_EXTRA */ +#endif /* OPENSSL_EXTRA && !NO_BIO */ int wolfSSL_EVP_get_hashinfo(const WOLFSSL_EVP_MD* evp, int* pHash, int* pHashSz) From 61bab6f68ba5dc23fbfb91f165bc5cd5efe48dfd Mon Sep 17 00:00:00 2001 From: Eric Blankenhorn Date: Thu, 14 Oct 2021 09:37:01 -0500 Subject: [PATCH 2/4] Fix test build errors with NO_BIO --- tests/api.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/tests/api.c b/tests/api.c index 15c3ec4c3..21bb0dc55 100644 --- a/tests/api.c +++ b/tests/api.c @@ -2729,7 +2729,7 @@ static void test_ED448(void) static void test_wolfSSL_EVP_PKEY_print_public(void) { -#if defined(OPENSSL_EXTRA) +#if defined(OPENSSL_EXTRA) && !defined(NO_BIO) WOLFSSL_BIO* rbio = NULL; WOLFSSL_BIO* wbio = NULL; @@ -8073,7 +8073,7 @@ static void test_wolfSSL_X509_verify(void) #if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && !defined(NO_RSA) && \ !defined(NO_WOLFSSL_CLIENT) && !defined(NO_DH) && !defined(NO_AES) && \ defined(HAVE_IO_TESTS_DEPENDENCIES) && !defined(SINGLE_THREADED) && \ - defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN) + defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN) && !defined(NO_BIO) /* create certificate with version 2 */ static void test_set_x509_badversion(WOLFSSL_CTX* ctx) { @@ -8157,7 +8157,7 @@ static void test_wolfSSL_X509_TLS_version(void) #if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && !defined(NO_RSA) && \ !defined(NO_WOLFSSL_CLIENT) && !defined(NO_DH) && !defined(NO_AES) && \ defined(HAVE_IO_TESTS_DEPENDENCIES) && !defined(SINGLE_THREADED) && \ - defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN) + defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN) && !defined(NO_BIO) tcp_ready ready; func_args server_args; func_args client_args; @@ -29002,7 +29002,8 @@ static void test_wolfSSL_X509_NAME(void) static void test_wolfSSL_X509_NAME_hash(void) { -#if defined(OPENSSL_EXTRA) && !defined(NO_FILESYSTEM) && !defined(NO_RSA) && !defined(NO_SHA) +#if defined(OPENSSL_EXTRA) && !defined(NO_FILESYSTEM) \ + && !defined(NO_RSA) && !defined(NO_SHA) && !defined(NO_BIO) BIO* bio; X509* x509 = NULL; @@ -29985,7 +29986,8 @@ static void test_wolfSSL_private_keys(void) static void test_wolfSSL_PEM_read_PrivateKey(void) { -#if defined(OPENSSL_EXTRA) && !defined(NO_RSA) && !defined(NO_FILESYSTEM) +#if defined(OPENSSL_EXTRA) && !defined(NO_RSA) \ + && !defined(NO_FILESYSTEM) && !defined(NO_BIO) XFILE file; const char* fname = "./certs/server-key.pem"; EVP_PKEY* pkey; @@ -31460,7 +31462,7 @@ static void test_wolfSSL_EVP_MD_ecc_signing(void) static void test_wolfSSL_CTX_add_extra_chain_cert(void) { #if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && \ - !defined(NO_FILESYSTEM) && !defined(NO_RSA) + !defined(NO_FILESYSTEM) && !defined(NO_RSA) && !defined(NO_BIO) char caFile[] = "./certs/client-ca.pem"; char clientFile[] = "./certs/client-cert.pem"; SSL_CTX* ctx; @@ -31554,7 +31556,7 @@ static void test_wolfSSL_CTX_add_extra_chain_cert(void) SSL_CTX_free(ctx); printf(resultFmt, passed); #endif /* defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && \ - !defined(NO_FILESYSTEM) && !defined(NO_RSA) */ + !defined(NO_FILESYSTEM) && !defined(NO_RSA) && !defined (NO_BIO) */ } @@ -34588,7 +34590,7 @@ static void test_wolfSSL_ASN1_BIT_STRING(void) static void test_wolfSSL_a2i_ASN1_INTEGER(void) { -#ifdef OPENSSL_EXTRA +#if defined(OPENSSL_EXTRA) && !defined(NO_BIO) BIO *bio, *out; ASN1_INTEGER* ai; char buf[] = "123456\n12345\n112345678912345678901234567890\n"; @@ -46669,7 +46671,7 @@ static void test_wolfSSL_X509_CRL(void) static void test_wolfSSL_X509_load_crl_file(void) { #if defined(OPENSSL_EXTRA) && defined(HAVE_CRL) && !defined(NO_FILESYSTEM) && \ - !defined(NO_RSA) + !defined(NO_RSA) && !defined(NO_BIO) int i; char pem[][100] = { "./certs/crl/crl.pem", From 17e0249a266075ce809248856f095c09506651dd Mon Sep 17 00:00:00 2001 From: Eric Blankenhorn Date: Thu, 14 Oct 2021 16:03:52 -0500 Subject: [PATCH 3/4] Fixing NO_BIO and OPENSSL_ALL errrors --- src/ssl.c | 13 ++++++++----- tests/api.c | 9 +++++---- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/ssl.c b/src/ssl.c index 806242987..56261fa4c 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -21331,7 +21331,7 @@ void wolfSSL_GENERAL_NAMES_free(WOLFSSL_GENERAL_NAMES *gens) wolfSSL_sk_free(gens); } -#ifdef OPENSSL_ALL +#if defined(OPENSSL_ALL) && !defined(NO_BIO) /* Outputs name string of the given WOLFSSL_GENERAL_NAME_OBJECT to WOLFSSL_BIO. * Can handle following GENERAL_NAME_OBJECT types: * - GEN_OTHERNAME # @@ -26131,7 +26131,7 @@ WOLFSSL_API int wolfSSL_X509_load_cert_crl_file(WOLFSSL_X509_LOOKUP *ctx, } } else { -#ifdef OPENSSL_ALL +#if defined(OPENSSL_ALL) && !defined(NO_BIO) bio = wolfSSL_BIO_new_file(file, "rb"); if(!bio) { WOLFSSL_MSG("wolfSSL_BIO_new error"); @@ -26177,7 +26177,7 @@ WOLFSSL_API int wolfSSL_X509_load_cert_crl_file(WOLFSSL_X509_LOOKUP *ctx, (void)info_tmp; (void)info; (void)bio; -#endif +#endif /* OPENSSL_ALL && !NO_BIO */ } WOLFSSL_LEAVE("wolfSSL_X509_load_ceretificate_crl_file", cnt); @@ -47154,7 +47154,6 @@ int wolfSSL_X509_NAME_print_ex(WOLFSSL_BIO* bio, WOLFSSL_X509_NAME* name, } return WOLFSSL_SUCCESS; } -#endif /* !NO_BIO */ #ifndef NO_FILESYSTEM int wolfSSL_X509_NAME_print_ex_fp(XFILE file, WOLFSSL_X509_NAME* name, @@ -47177,6 +47176,7 @@ int wolfSSL_X509_NAME_print_ex_fp(XFILE file, WOLFSSL_X509_NAME* name, return ret; } #endif /* NO_FILESYSTEM */ +#endif /* !NO_BIO */ #ifndef NO_WOLFSSL_STUB WOLFSSL_ASN1_BIT_STRING* wolfSSL_X509_get0_pubkey_bitstr(const WOLFSSL_X509* x) @@ -49045,6 +49045,7 @@ BIO *wolfSSL_SSL_get_wbio(const WOLFSSL *s) return s->biowr; } +#endif /* !NO_BIO */ int wolfSSL_SSL_do_handshake(WOLFSSL *s) { @@ -49126,6 +49127,7 @@ WOLFSSL_SESSION *wolfSSL_SSL_get0_session(const WOLFSSL *ssl) #endif /* NO_SESSION_CACHE */ +#ifndef NO_BIO int wolfSSL_a2i_ASN1_INTEGER(WOLFSSL_BIO *bio, WOLFSSL_ASN1_INTEGER *asn1, char *buf, int size) { @@ -56186,6 +56188,7 @@ WOLFSSL_STACK *wolfSSL_NCONF_get_section( return NULL; } +#if !defined(NO_BIO) static WOLFSSL_CONF_VALUE *wolfSSL_CONF_VALUE_new_values(char* section, char* name, char* value) { @@ -56496,7 +56499,7 @@ cleanup: *eline = line; return ret; } - +#endif /* !NO_BIO */ void wolfSSL_NCONF_free(WOLFSSL_CONF *conf) { diff --git a/tests/api.c b/tests/api.c index 21bb0dc55..da7b67cc7 100644 --- a/tests/api.c +++ b/tests/api.c @@ -38373,7 +38373,7 @@ static void test_wolfSSL_sk_GENERAL_NAME(void) static void test_wolfSSL_GENERAL_NAME_print(void) { -#if defined(OPENSSL_ALL) +#if defined(OPENSSL_ALL) && !defined(NO_BIO) X509* x509; GENERAL_NAME* gn; @@ -42859,7 +42859,7 @@ static void test_wolfSSL_OBJ_sn(void) printf(resultFmt, passed); } - +#if !defined(NO_BIO) static unsigned long TXT_DB_hash(const WOLFSSL_STRING *s) { return lh_strhash(s[3]); @@ -42869,10 +42869,11 @@ static int TXT_DB_cmp(const WOLFSSL_STRING *a, const WOLFSSL_STRING *b) { return XSTRCMP(a[3], b[3]); } +#endif static void test_wolfSSL_TXT_DB(void) { -#if !defined(NO_FILESYSTEM) +#if !defined(NO_FILESYSTEM) && !defined(NO_BIO) BIO *bio; TXT_DB *db = NULL; const int columns = 6; @@ -42922,7 +42923,7 @@ static void test_wolfSSL_TXT_DB(void) static void test_wolfSSL_NCONF(void) { -#if !defined(NO_FILESYSTEM) +#if !defined(NO_FILESYSTEM) && !defined(NO_BIO) const char* confFile = "./tests/NCONF_test.cnf"; CONF* conf = NULL; long eline = 0; From c0b592ef8278dd64733f778c577d0a01d7cc183c Mon Sep 17 00:00:00 2001 From: Eric Blankenhorn Date: Tue, 19 Oct 2021 08:27:43 -0500 Subject: [PATCH 4/4] Fix build error with WOLFSSL_USER_IO --- src/internal.c | 4 ++-- src/ssl.c | 5 ++++- tests/api.c | 12 ++++++------ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/internal.c b/src/internal.c index 53cb1f315..4e839613c 100644 --- a/src/internal.c +++ b/src/internal.c @@ -11414,7 +11414,7 @@ int LoadCertByIssuer(WOLFSSL_X509_STORE* store, X509_NAME* issuer, int type) break; } } -#ifdef HAVE_CRL +#if defined(HAVE_CRL) && !defined(NO_BIO) else if (type == X509_LU_CRL) { ret = wolfSSL_X509_load_crl_file(&store->lookup, filename, WOLFSSL_FILETYPE_PEM); @@ -11429,7 +11429,7 @@ int LoadCertByIssuer(WOLFSSL_X509_STORE* store, X509_NAME* issuer, int type) ret = WOLFSSL_FAILURE; break; } -#endif +#endif /* HAVE_CRL && !NO_BIO */ } else break; } diff --git a/src/ssl.c b/src/ssl.c index 56261fa4c..1cc2c8ff8 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -48555,6 +48555,7 @@ unsigned long wolfSSL_ERR_peek_error_line_data(const char **file, int *line, #if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) +#if !defined(WOLFSSL_USER_IO) /* converts an IPv6 or IPv4 address into an octet string for use with rfc3280 * example input would be "127.0.0.1" and the returned value would be 7F000001 */ @@ -48590,7 +48591,7 @@ WOLFSSL_ASN1_STRING* wolfSSL_a2i_IPADDRESS(const char* ipa) return ret; } - +#endif /* !WOLFSSL_USER_IO */ /* Is the specified cipher suite a fake one used an an extension proxy? */ static WC_INLINE int SCSV_Check(byte suite0, byte suite) @@ -54547,6 +54548,7 @@ void wolfSSL_X509V3_set_ctx(WOLFSSL_X509V3_CTX* ctx, WOLFSSL_X509* issuer, } } +#ifndef NO_BIO int wolfSSL_i2d_X509_REQ(WOLFSSL_X509* req, unsigned char** out) { int derSz = 0; @@ -54589,6 +54591,7 @@ cleanup: return ret; } +#endif /* !NO_BIO */ WOLFSSL_X509* wolfSSL_X509_REQ_new(void) { diff --git a/tests/api.c b/tests/api.c index da7b67cc7..f98db923d 100644 --- a/tests/api.c +++ b/tests/api.c @@ -34636,7 +34636,7 @@ static void test_wolfSSL_a2i_ASN1_INTEGER(void) static void test_wolfSSL_a2i_IPADDRESS(void) { -#ifdef OPENSSL_ALL +#if defined(OPENSSL_ALL) && !defined(WOLFSSL_USER_IO) const unsigned char* data; int dataSz = 0; ASN1_OCTET_STRING *st; @@ -36984,7 +36984,7 @@ static void test_wolfSSL_X509_set_notAfter(void) && !defined(NO_ASN_TIME) && !defined(USER_TIME) && \ !defined(TIME_OVERRIDES) && !defined(NO_CERTS) && \ defined(WOLFSSL_CERT_GEN) && defined(WOLFSSL_CERT_REQ) &&\ - !defined(TIME_T_NOT_64BIT) && !defined(NO_64BIT) + !defined(TIME_T_NOT_64BIT) && !defined(NO_64BIT) && !defined(NO_BIO) /* Generalized time will overflow time_t if not long */ X509* x; @@ -37038,7 +37038,7 @@ static void test_wolfSSL_X509_set_notBefore(void) #if (defined(OPENSSL_ALL) || defined(WOLFSSL_APACHE_HTTPD)) \ && !defined(NO_ASN_TIME) && !defined(USER_TIME) && \ !defined(TIME_OVERRIDES) && !defined(NO_CERTS) && \ - defined(WOLFSSL_CERT_GEN) && defined(WOLFSSL_CERT_REQ) + defined(WOLFSSL_CERT_GEN) && defined(WOLFSSL_CERT_REQ) && !defined(NO_BIO) X509* x; BIO* bio; @@ -45026,8 +45026,8 @@ static void test_X509_get_signature_nid(void) static void test_X509_REQ(void) { -#if defined(OPENSSL_ALL) && !defined(NO_CERTS) && defined(WOLFSSL_CERT_GEN) && \ - defined(WOLFSSL_CERT_REQ) +#if defined(OPENSSL_ALL) && !defined(NO_CERTS) && \ + defined(WOLFSSL_CERT_GEN) && defined(WOLFSSL_CERT_REQ) && !defined(NO_BIO) X509_NAME* name; #if !defined(NO_RSA) || defined(HAVE_ECC) X509_REQ* req; @@ -46761,7 +46761,7 @@ static void test_wolfSSL_X509_load_crl_file(void) static void test_wolfSSL_d2i_X509_REQ(void) { -#if defined(WOLFSSL_CERT_REQ) && !defined(NO_RSA) && \ +#if defined(WOLFSSL_CERT_REQ) && !defined(NO_RSA) && !defined(NO_BIO) && \ (defined(OPENSSL_ALL) || defined(OPENSSL_EXTRA)) /* ./certs/csr.signed.der, ./certs/csr.ext.der, and ./certs/csr.attr.der were * generated by libest