Merge pull request #4471 from embhorn/zd11886

Fix build errors with NO_BIO config
This commit is contained in:
Sean Parkinson
2021-10-20 08:06:42 +10:00
committed by GitHub
4 changed files with 60 additions and 49 deletions

View File

@@ -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
@@ -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;
}

View File

@@ -21349,7 +21349,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 #
@@ -26149,7 +26149,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");
@@ -26195,7 +26195,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);
@@ -26241,6 +26241,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 */
@@ -26315,6 +26316,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 */
@@ -29919,9 +29921,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");
@@ -35478,7 +35479,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);
@@ -35523,7 +35524,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
@@ -35579,7 +35580,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:
@@ -35601,7 +35602,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:
{
@@ -35627,12 +35628,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;
@@ -39342,7 +39343,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));
@@ -39572,7 +39573,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 */
@@ -46073,7 +46075,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 */
@@ -47170,7 +47172,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,
@@ -47193,6 +47194,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)
@@ -48571,6 +48573,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
*/
@@ -48606,7 +48609,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)
@@ -49061,6 +49064,7 @@ BIO *wolfSSL_SSL_get_wbio(const WOLFSSL *s)
return s->biowr;
}
#endif /* !NO_BIO */
int wolfSSL_SSL_do_handshake(WOLFSSL *s)
{
@@ -49142,6 +49146,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)
{
@@ -50282,7 +50287,7 @@ int wolfSSL_set_alpn_protos(WOLFSSL* ssl,
}
#endif /* !NO_BIO */
#endif /* HAVE_ALPN */
#endif
#endif /* OPENSSL_EXTRA */
#if defined(OPENSSL_EXTRA)
@@ -54561,6 +54566,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;
@@ -54603,6 +54609,7 @@ cleanup:
return ret;
}
#endif /* !NO_BIO */
WOLFSSL_X509* wolfSSL_X509_REQ_new(void)
{
@@ -55594,7 +55601,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.
@@ -55856,7 +55863,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
@@ -56202,6 +56209,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)
{
@@ -56512,7 +56520,7 @@ cleanup:
*eline = line;
return ret;
}
#endif /* !NO_BIO */
void wolfSSL_NCONF_free(WOLFSSL_CONF *conf)
{
@@ -58064,7 +58072,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)
{
@@ -58088,7 +58096,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;
@@ -58119,7 +58127,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");
@@ -58142,7 +58150,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

View File

@@ -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;
@@ -29005,7 +29005,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;
@@ -29988,7 +29989,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;
@@ -31463,7 +31465,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;
@@ -31557,7 +31559,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) */
}
@@ -34591,7 +34593,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";
@@ -34637,7 +34639,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;
@@ -36985,7 +36987,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;
@@ -37039,7 +37041,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;
@@ -38374,7 +38376,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;
@@ -42860,7 +42862,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]);
@@ -42870,10 +42872,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;
@@ -42923,7 +42926,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;
@@ -45026,8 +45029,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;
@@ -46672,7 +46675,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",
@@ -46761,7 +46764,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

View File

@@ -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)