Consistency in PP checking on use of WOLFSSL_CRYPTO_EX_DATA

This commit is contained in:
kaleb-himes
2021-11-11 17:47:17 -07:00
parent 2501aef34e
commit 6547bcb44c
9 changed files with 35 additions and 29 deletions

View File

@ -11246,7 +11246,7 @@ int DoVerifyCallback(WOLFSSL_CERT_MANAGER* cm, WOLFSSL* ssl, int ret,
store->userCtx = (ssl != NULL) ? ssl->verifyCbCtx : cm;
store->certs = args->certs;
store->totalCerts = args->totalCerts;
#if (defined(HAVE_EX_DATA) || defined(FORTRESS)) && \
#if defined(HAVE_EX_DATA) && \
(defined(OPENSSL_EXTRA) || defined(WOLFSSL_WPAS_SMALL))
if (wolfSSL_CRYPTO_set_ex_data(&store->ex_data, 0, ssl)
!= WOLFSSL_SUCCESS) {

View File

@ -31694,7 +31694,7 @@ char* wolfSSL_X509_get_subjectCN(WOLFSSL_X509* x509)
#ifdef OPENSSL_EXTRA
#if defined(FORTRESS) && !defined(NO_FILESYSTEM)
#if defined(HAVE_EX_DATA) && !defined(NO_FILESYSTEM)
int wolfSSL_cmp_peer_cert_to_file(WOLFSSL* ssl, const char *fname)
{
int ret = WOLFSSL_FATAL_ERROR;
@ -45704,7 +45704,7 @@ int wolfSSL_CTX_use_PrivateKey(WOLFSSL_CTX *ctx, WOLFSSL_EVP_PKEY *pkey)
#if defined(HAVE_EX_DATA) && \
(defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || \
defined(WOLFSSL_HAPROXY) || defined(OPENSSL_EXTRA) || \
defined(HAVE_LIGHTY)) || defined(HAVE_EX_DATA) || defined(FORTRESS) || \
defined(HAVE_LIGHTY)) || defined(HAVE_EX_DATA) || \
defined(WOLFSSL_WPAS_SMALL)
/**
* get_ex_new_index is a helper function for the following
@ -45755,9 +45755,9 @@ static int get_ex_new_index(int class_index)
}
return index;
}
#endif /* HAVE_EX_DATA || FORTRESS || WOLFSSL_WPAS_SMALL */
#endif /* HAVE_EX_DATA || WOLFSSL_WPAS_SMALL */
#if defined(HAVE_EX_DATA) || defined(FORTRESS) || defined(WOLFSSL_WPAS_SMALL)
#if defined(HAVE_EX_DATA) || defined(WOLFSSL_WPAS_SMALL)
void* wolfSSL_CTX_get_ex_data(const WOLFSSL_CTX* ctx, int idx)
{
WOLFSSL_ENTER("wolfSSL_CTX_get_ex_data");
@ -45840,7 +45840,7 @@ int wolfSSL_CTX_set_ex_data_with_cleanup(
}
#endif /* HAVE_EX_DATA_CLEANUP_HOOKS */
#endif /* defined(HAVE_EX_DATA) || defined(FORTRESS) || defined(WOLFSSL_WPAS_SMALL) */
#endif /* defined(HAVE_EX_DATA) || defined(WOLFSSL_WPAS_SMALL) */
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
@ -45878,7 +45878,7 @@ int wolfSSL_set_app_data(WOLFSSL *ssl, void* arg) {
int wolfSSL_set_ex_data(WOLFSSL* ssl, int idx, void* data)
{
WOLFSSL_ENTER("wolfSSL_set_ex_data");
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
if (ssl != NULL)
{
return wolfSSL_CRYPTO_set_ex_data(&ssl->ex_data, idx, data);
@ -45912,7 +45912,7 @@ int wolfSSL_set_ex_data_with_cleanup(
void* wolfSSL_get_ex_data(const WOLFSSL* ssl, int idx)
{
WOLFSSL_ENTER("wolfSSL_get_ex_data");
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
if (ssl != NULL) {
return wolfSSL_CRYPTO_get_ex_data(&ssl->ex_data, idx);
}
@ -47044,7 +47044,8 @@ void wolfSSL_print_all_errors_fp(XFILE fp)
HAVE_LIGHTY || WOLFSSL_HAPROXY || WOLFSSL_OPENSSH */
#if defined(OPENSSL_EXTRA) || defined(WOLFSSL_WPAS_SMALL) || defined(FORTRESS)
#if defined(OPENSSL_EXTRA) || defined(WOLFSSL_WPAS_SMALL) || \
defined(HAVE_EX_DATA)
int wolfSSL_SESSION_set_ex_data(WOLFSSL_SESSION* session, int idx, void* data)
{
WOLFSSL_ENTER("wolfSSL_SESSION_set_ex_data");
@ -47089,7 +47090,7 @@ void* wolfSSL_SESSION_get_ex_data(const WOLFSSL_SESSION* session, int idx)
#endif
return NULL;
}
#endif /* OPENSSL_EXTRA || WOLFSSL_WPAS_SMALL || FORTRESS */
#endif /* OPENSSL_EXTRA || WOLFSSL_WPAS_SMALL || HAVE_EX_DATA */
#if defined(OPENSSL_EXTRA) || defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || \
defined(HAVE_LIGHTY) || defined(WOLFSSL_HAPROXY) || \
@ -56267,7 +56268,7 @@ void wolfSSL_CRYPTO_cleanup_all_ex_data(void){
}
#endif
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
void* wolfSSL_CRYPTO_get_ex_data(const WOLFSSL_CRYPTO_EX_DATA* ex_data, int idx)
{
WOLFSSL_ENTER("wolfSSL_CTX_get_ex_data");
@ -56353,7 +56354,7 @@ int wolfSSL_CRYPTO_get_ex_new_index(int class_index, long argl, void *argp,
return get_ex_new_index(class_index);
}
#endif /* HAVE_EX_DATA || FORTRESS */
#endif /* HAVE_EX_DATA */
/*******************************************************************************
* END OF EX_DATA APIs
@ -60197,7 +60198,7 @@ int wolfSSL_X509_STORE_CTX_init(WOLFSSL_X509_STORE_CTX* ctx,
ctx->sesChain = NULL;
ctx->domain = NULL;
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
XMEMSET(&ctx->ex_data, 0, sizeof(ctx->ex_data));
#endif
ctx->userCtx = NULL;
@ -60396,7 +60397,7 @@ int wolfSSL_X509_verify_cert(WOLFSSL_X509_STORE_CTX* ctx)
void* wolfSSL_X509_STORE_CTX_get_ex_data(WOLFSSL_X509_STORE_CTX* ctx, int idx)
{
WOLFSSL_ENTER("wolfSSL_X509_STORE_CTX_get_ex_data");
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
if (ctx != NULL) {
return wolfSSL_CRYPTO_get_ex_data(&ctx->ex_data, idx);
}
@ -60476,7 +60477,7 @@ int wolfSSL_X509_STORE_CTX_set_ex_data(WOLFSSL_X509_STORE_CTX* ctx, int idx,
void *data)
{
WOLFSSL_ENTER("wolfSSL_X509_STORE_CTX_set_ex_data");
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
if (ctx != NULL)
{
return wolfSSL_CRYPTO_set_ex_data(&ctx->ex_data, idx, data);

View File

@ -32889,7 +32889,7 @@ static void test_wolfSSL_X509_STORE_CTX(void)
int i = 0, tmpData = 5;
void* tmpDataRet;
AssertNotNull(ctx = X509_STORE_CTX_new());
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
for (i = 0; i < MAX_EX_DATA; i++) {
AssertIntEQ(X509_STORE_CTX_set_ex_data(ctx, i, &tmpData),
WOLFSSL_SUCCESS);
@ -32911,7 +32911,7 @@ static void test_wolfSSL_X509_STORE_CTX(void)
int i = 0, tmpData = 99;
void* tmpDataRet;
AssertNotNull(str = X509_STORE_new());
#if defined(HAVE_EX_DATA)
#ifdef HAVE_EX_DATA
for (i = 0; i < MAX_EX_DATA; i++) {
AssertIntEQ(X509_STORE_set_ex_data(str, i, &tmpData),
WOLFSSL_SUCCESS);
@ -34751,7 +34751,7 @@ static void test_wolfSSL_set_options(void)
AssertTrue(SSL_CTX_set_msg_callback(ctx, msg_cb) == SSL_SUCCESS);
AssertNotNull(ssl = SSL_new(ctx));
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
AssertIntEQ(SSL_set_app_data(ssl, (void*)appData), SSL_SUCCESS);
AssertNotNull(SSL_get_app_data((const WOLFSSL*)ssl));
if (ssl) {
@ -50452,7 +50452,7 @@ static void test_CONF_CTX_FILE(void)
static void test_wolfSSL_CRYPTO_get_ex_new_index(void)
{
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
int idx1,idx2;
printf(testingFmt, "test_wolfSSL_CRYPTO_get_ex_new_index()");
@ -50512,7 +50512,7 @@ static void test_wolfSSL_CRYPTO_get_ex_new_index(void)
AssertIntNE(idx1, idx2);
printf(resultFmt, "passed");
#endif /* HAVE_EX_DATA || FORTRESS */
#endif /* HAVE_EX_DATA */
}
static void test_wolfSSL_set_psk_use_session_callback(void)

View File

@ -4359,7 +4359,7 @@ struct WOLFSSL {
flag found in buffers.weOwnCert) */
#endif
byte keepCert; /* keep certificate after handshake */
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
WOLFSSL_CRYPTO_EX_DATA ex_data; /* external data, for Fortress */
#endif
int devId; /* async device id to use */

View File

@ -80,7 +80,7 @@ typedef struct WOLFSSL_RSA {
#if defined(OPENSSL_EXTRA)
WOLFSSL_RSA_METHOD* meth;
#endif
#if defined(HAVE_EX_DATA)
#ifdef HAVE_EX_DATA
WOLFSSL_CRYPTO_EX_DATA ex_data; /* external data */
#endif
#if defined(OPENSSL_EXTRA_X509_SMALL) || defined(OPENSSL_EXTRA)

View File

@ -151,7 +151,9 @@ typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS;
#define CRYPTO_EX_new WOLFSSL_CRYPTO_EX_new
#define CRYPTO_EX_dup WOLFSSL_CRYPTO_EX_dup
#define CRYPTO_EX_free WOLFSSL_CRYPTO_EX_free
#define CRYPTO_EX_DATA WOLFSSL_CRYPTO_EX_DATA
#ifdef HAVE_EX_DATA
#define CRYPTO_EX_DATA WOLFSSL_CRYPTO_EX_DATA
#endif
#define CRYPTO_set_mem_functions wolfSSL_CRYPTO_set_mem_functions

View File

@ -679,7 +679,7 @@ struct WOLFSSL_X509_STORE_CTX {
WOLFSSL_X509_VERIFY_PARAM* param; /* certificate validation parameter */
#endif
char* domain; /* subject CN domain name */
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
WOLFSSL_CRYPTO_EX_DATA ex_data; /* external data */
#endif
#if defined(WOLFSSL_APACHE_HTTPD) || defined(OPENSSL_EXTRA)
@ -1154,7 +1154,7 @@ typedef void (CallbackInfoState)(const WOLFSSL*, int, int);
#define CRYPTO_EX_INDEX_DRBG 15
#define CRYPTO_EX_INDEX__COUNT 16
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
typedef int (WOLFSSL_CRYPTO_EX_new)(void* p, void* ptr,
WOLFSSL_CRYPTO_EX_DATA* a, int idx, long argValue, void* arg);
typedef int (WOLFSSL_CRYPTO_EX_dup)(WOLFSSL_CRYPTO_EX_DATA* out,
@ -2510,7 +2510,7 @@ WOLFSSL_API int wolfSSL_ASN1_TIME_set_string(WOLFSSL_ASN1_TIME *s, const char *s
WOLFSSL_API int wolfSSL_sk_num(const WOLFSSL_STACK* sk);
WOLFSSL_API void* wolfSSL_sk_value(const WOLFSSL_STACK* sk, int i);
#if defined(HAVE_EX_DATA) || defined(FORTRESS) || defined(WOLFSSL_WPAS_SMALL)
#if defined(HAVE_EX_DATA) || defined(WOLFSSL_WPAS_SMALL)
WOLFSSL_API void* wolfSSL_CRYPTO_get_ex_data(const WOLFSSL_CRYPTO_EX_DATA* ex_data,
int idx);
@ -4749,12 +4749,12 @@ WOLFSSL_API int wolfSSL_CONF_CTX_finish(WOLFSSL_CONF_CTX* cctx);
WOLFSSL_API int wolfSSL_CONF_cmd(WOLFSSL_CONF_CTX* cctx, const char* cmd, const char* value);
#endif /* OPENSSL_EXTRA */
#if defined(HAVE_EX_DATA) || defined(FORTRESS) || defined(WOLFSSL_WPAS_SMALL)
#if defined(HAVE_EX_DATA) || defined(WOLFSSL_WPAS_SMALL)
WOLFSSL_API int wolfSSL_CRYPTO_get_ex_new_index(int class_index, long argl, void *argp,
WOLFSSL_CRYPTO_EX_new* new_func,
WOLFSSL_CRYPTO_EX_dup* dup_func,
WOLFSSL_CRYPTO_EX_free* free_func);
#endif /* HAVE_EX_DATA || FORTRESS */
#endif /* HAVE_EX_DATA || WOLFSSL_WPAS_SMALL */
#ifdef __cplusplus
} /* extern "C" */
#endif

View File

@ -2459,6 +2459,9 @@ extern void uITRON4_free(void *p) ;
#endif
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#if defined(FORTRESS) && !defined(HAVE_EX_DATA)
#define HAVE_EX_DATA
#endif
#ifndef MAX_EX_DATA
#define MAX_EX_DATA 5 /* allow for five items of ex_data */
#endif

View File

@ -47,7 +47,7 @@ decouple library dependencies with standard string, memory and so on.
* needs to be defined somwhere that all structs can import
* (with minimal depencencies).
*/
#if defined(HAVE_EX_DATA) || defined(FORTRESS)
#ifdef HAVE_EX_DATA
#ifdef HAVE_EX_DATA_CLEANUP_HOOKS
typedef void (*wolfSSL_ex_data_cleanup_routine_t)(void *data);
#endif