Fixes for building with HAVE_EX_DATA no compat layer.

This commit is contained in:
David Garske
2022-03-07 15:16:41 -08:00
committed by Daniel Pouzzner
parent 0231304607
commit 9b808bde20
5 changed files with 78 additions and 60 deletions

View File

@ -47574,32 +47574,32 @@ static int get_ex_new_index(int class_index)
int idx = -1; int idx = -1;
switch(class_index) { switch(class_index) {
case CRYPTO_EX_INDEX_SSL: case WOLF_CRYPTO_EX_INDEX_SSL:
idx = ssl_idx++; idx = ssl_idx++;
break; break;
case CRYPTO_EX_INDEX_SSL_CTX: case WOLF_CRYPTO_EX_INDEX_SSL_CTX:
idx = ctx_idx++; idx = ctx_idx++;
break; break;
case CRYPTO_EX_INDEX_X509: case WOLF_CRYPTO_EX_INDEX_X509:
idx = x509_idx++; idx = x509_idx++;
break; break;
case CRYPTO_EX_INDEX_SSL_SESSION: case WOLF_CRYPTO_EX_INDEX_SSL_SESSION:
idx = ssl_session_idx++; idx = ssl_session_idx++;
break; break;
/* following class indexes are not supoprted */ /* following class indexes are not supoprted */
case CRYPTO_EX_INDEX_X509_STORE: case WOLF_CRYPTO_EX_INDEX_X509_STORE:
case CRYPTO_EX_INDEX_X509_STORE_CTX: case WOLF_CRYPTO_EX_INDEX_X509_STORE_CTX:
case CRYPTO_EX_INDEX_DH: case WOLF_CRYPTO_EX_INDEX_DH:
case CRYPTO_EX_INDEX_DSA: case WOLF_CRYPTO_EX_INDEX_DSA:
case CRYPTO_EX_INDEX_EC_KEY: case WOLF_CRYPTO_EX_INDEX_EC_KEY:
case CRYPTO_EX_INDEX_RSA: case WOLF_CRYPTO_EX_INDEX_RSA:
case CRYPTO_EX_INDEX_ENGINE: case WOLF_CRYPTO_EX_INDEX_ENGINE:
case CRYPTO_EX_INDEX_UI: case WOLF_CRYPTO_EX_INDEX_UI:
case CRYPTO_EX_INDEX_BIO: case WOLF_CRYPTO_EX_INDEX_BIO:
case CRYPTO_EX_INDEX_APP: case WOLF_CRYPTO_EX_INDEX_APP:
case CRYPTO_EX_INDEX_UI_METHOD: case WOLF_CRYPTO_EX_INDEX_UI_METHOD:
case CRYPTO_EX_INDEX_DRBG: case WOLF_CRYPTO_EX_INDEX_DRBG:
default: default:
break; break;
} }
@ -47633,7 +47633,7 @@ int wolfSSL_CTX_get_ex_new_index(long idx, void* arg, void* a, void* b,
(void)b; (void)b;
(void)c; (void)c;
return get_ex_new_index(CRYPTO_EX_INDEX_SSL_CTX); return get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL_CTX);
} }
/* Return the index that can be used for the WOLFSSL structure to store /* Return the index that can be used for the WOLFSSL structure to store
@ -47653,7 +47653,7 @@ int wolfSSL_get_ex_new_index(long argValue, void* arg,
(void)cb2; (void)cb2;
(void)cb3; (void)cb3;
return get_ex_new_index(CRYPTO_EX_INDEX_SSL); return get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL);
} }
@ -49121,7 +49121,7 @@ int wolfSSL_SESSION_get_ex_new_index(long idx, void* data, void* cb1,
(void)cb2; (void)cb2;
(void)cb3; (void)cb3;
(void)data; (void)data;
return get_ex_new_index(CRYPTO_EX_INDEX_SSL_SESSION); return get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL_SESSION);
} }
#endif #endif
@ -58123,9 +58123,9 @@ int wolfSSL_CRYPTO_set_ex_data_with_cleanup(
* Issues unique index for the class specified by class_index. * Issues unique index for the class specified by class_index.
* Other parameter except class_index are ignored. * Other parameter except class_index are ignored.
* Currently, following class_index are accepted: * Currently, following class_index are accepted:
* - CRYPTO_EX_INDEX_SSL * - WOLF_CRYPTO_EX_INDEX_SSL
* - CRYPTO_EX_INDEX_SSL_CTX * - WOLF_CRYPTO_EX_INDEX_SSL_CTX
* - CRYPTO_EX_INDEX_X509 * - WOLF_CRYPTO_EX_INDEX_X509
* @param class_index index one of CRYPTO_EX_INDEX_xxx * @param class_index index one of CRYPTO_EX_INDEX_xxx
* @param argp parameters to be saved * @param argp parameters to be saved
* @param argl parameters to be saved * @param argl parameters to be saved

View File

@ -51226,61 +51226,61 @@ static void test_wolfSSL_CRYPTO_get_ex_new_index(void)
printf(testingFmt, "test_wolfSSL_CRYPTO_get_ex_new_index()"); printf(testingFmt, "test_wolfSSL_CRYPTO_get_ex_new_index()");
/* test for unsupported class index */ /* test for unsupported class index */
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_X509_STORE,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE_CTX, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_X509_STORE_CTX,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DH, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_DH,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DSA, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_DSA,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_EC_KEY, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_EC_KEY,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_RSA, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_RSA,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_ENGINE, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_ENGINE,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_UI, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_UI,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_BIO, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_BIO,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_APP, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_APP,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_UI_METHOD, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_UI_METHOD,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DRBG, AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_DRBG,
0,NULL, NULL, NULL, NULL ), -1); 0,NULL, NULL, NULL, NULL ), -1);
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(20, 0,NULL, NULL, NULL, NULL ), -1); AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(20, 0,NULL, NULL, NULL, NULL ), -1);
/* test for supported class index */ /* test for supported class index */
idx1 = wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, idx1 = wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL,
0,NULL, NULL, NULL, NULL ); 0,NULL, NULL, NULL, NULL );
idx2 = wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, idx2 = wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL,
0,NULL, NULL, NULL, NULL ); 0,NULL, NULL, NULL, NULL );
AssertIntNE(idx1, -1); AssertIntNE(idx1, -1);
AssertIntNE(idx2, -1); AssertIntNE(idx2, -1);
AssertIntNE(idx1, idx2); AssertIntNE(idx1, idx2);
idx1 = wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_CTX, idx1 = wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL_CTX,
0,NULL, NULL, NULL, NULL ); 0,NULL, NULL, NULL, NULL );
idx2 = wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_CTX, idx2 = wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL_CTX,
0,NULL, NULL, NULL, NULL ); 0,NULL, NULL, NULL, NULL );
AssertIntNE(idx1, -1); AssertIntNE(idx1, -1);
AssertIntNE(idx2, -1); AssertIntNE(idx2, -1);
AssertIntNE(idx1, idx2); AssertIntNE(idx1, idx2);
idx1 = wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, idx1 = wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_X509,
0,NULL, NULL, NULL, NULL ); 0,NULL, NULL, NULL, NULL );
idx2 = wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, idx2 = wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_X509,
0,NULL, NULL, NULL, NULL ); 0,NULL, NULL, NULL, NULL );
AssertIntNE(idx1, -1); AssertIntNE(idx1, -1);
AssertIntNE(idx2, -1); AssertIntNE(idx2, -1);
AssertIntNE(idx1, idx2); AssertIntNE(idx1, idx2);
idx1 = wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_SESSION, idx1 = wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL_SESSION,
0,NULL, NULL, NULL, NULL ); 0,NULL, NULL, NULL, NULL );
idx2 = wolfSSL_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_SESSION, idx2 = wolfSSL_CRYPTO_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL_SESSION,
0,NULL, NULL, NULL, NULL ); 0,NULL, NULL, NULL, NULL );
AssertIntNE(idx1, -1); AssertIntNE(idx1, -1);
AssertIntNE(idx2, -1); AssertIntNE(idx2, -1);

View File

@ -68,23 +68,23 @@ WOLFSSL_API int wolfSSL_OPENSSL_init_crypto(word64 opts, const OPENSSL_INIT_SETT
#endif #endif
/* class index for wolfSSL_CRYPTO_get_ex_new_index */ /* class index for wolfSSL_CRYPTO_get_ex_new_index */
#define CRYPTO_EX_INDEX_SSL 0 #define CRYPTO_EX_INDEX_SSL WOLF_CRYPTO_EX_INDEX_SSL
#define CRYPTO_EX_INDEX_SSL_CTX 1 #define CRYPTO_EX_INDEX_SSL_CTX WOLF_CRYPTO_EX_INDEX_SSL_CTX
#define CRYPTO_EX_INDEX_SSL_SESSION 2 #define CRYPTO_EX_INDEX_SSL_SESSION WOLF_CRYPTO_EX_INDEX_SSL_SESSION
#define CRYPTO_EX_INDEX_X509 3 #define CRYPTO_EX_INDEX_X509 WOLF_CRYPTO_EX_INDEX_X509
#define CRYPTO_EX_INDEX_X509_STORE 4 #define CRYPTO_EX_INDEX_X509_STORE WOLF_CRYPTO_EX_INDEX_X509_STORE
#define CRYPTO_EX_INDEX_X509_STORE_CTX 5 #define CRYPTO_EX_INDEX_X509_STORE_CTX WOLF_CRYPTO_EX_INDEX_X509_STORE_CTX
#define CRYPTO_EX_INDEX_DH 6 #define CRYPTO_EX_INDEX_DH WOLF_CRYPTO_EX_INDEX_DH
#define CRYPTO_EX_INDEX_DSA 7 #define CRYPTO_EX_INDEX_DSA WOLF_CRYPTO_EX_INDEX_DSA
#define CRYPTO_EX_INDEX_EC_KEY 8 #define CRYPTO_EX_INDEX_EC_KEY WOLF_CRYPTO_EX_INDEX_EC_KEY
#define CRYPTO_EX_INDEX_RSA 9 #define CRYPTO_EX_INDEX_RSA WOLF_CRYPTO_EX_INDEX_RSA
#define CRYPTO_EX_INDEX_ENGINE 10 #define CRYPTO_EX_INDEX_ENGINE WOLF_CRYPTO_EX_INDEX_ENGINE
#define CRYPTO_EX_INDEX_UI 11 #define CRYPTO_EX_INDEX_UI WOLF_CRYPTO_EX_INDEX_UI
#define CRYPTO_EX_INDEX_BIO 12 #define CRYPTO_EX_INDEX_BIO WOLF_CRYPTO_EX_INDEX_BIO
#define CRYPTO_EX_INDEX_APP 13 #define CRYPTO_EX_INDEX_APP WOLF_CRYPTO_EX_INDEX_APP
#define CRYPTO_EX_INDEX_UI_METHOD 14 #define CRYPTO_EX_INDEX_UI_METHOD WOLF_CRYPTO_EX_INDEX_UI_METHOD
#define CRYPTO_EX_INDEX_DRBG 15 #define CRYPTO_EX_INDEX_DRBG WOLF_CRYPTO_EX_INDEX_DRBG
#define CRYPTO_EX_INDEX__COUNT 16 #define CRYPTO_EX_INDEX__COUNT WOLF_CRYPTO_EX_INDEX__COUNT
#define crypto_threadid_st WOLFSSL_CRYPTO_THREADID #define crypto_threadid_st WOLFSSL_CRYPTO_THREADID
#define CRYPTO_THREADID WOLFSSL_CRYPTO_THREADID #define CRYPTO_THREADID WOLFSSL_CRYPTO_THREADID

View File

@ -1277,7 +1277,6 @@ typedef WOLFSSL_SRTP_PROTECTION_PROFILE SRTP_PROTECTION_PROFILE;
#define OPENSSL_INIT_LOAD_SSL_STRINGS 0x00200000L #define OPENSSL_INIT_LOAD_SSL_STRINGS 0x00200000L
#define OPENSSL_INIT_LOAD_CRYPTO_STRINGS 0x00000002L #define OPENSSL_INIT_LOAD_CRYPTO_STRINGS 0x00000002L
#define CRYPTO_EX_INDEX_SSL 0
#define TLS_ANY_VERSION 0x10000 #define TLS_ANY_VERSION 0x10000
#define DTLS1_2_VERSION 0xFEFD #define DTLS1_2_VERSION 0xFEFD
#define DTLS_MAX_VERSION DTLS1_2_VERSION #define DTLS_MAX_VERSION DTLS1_2_VERSION

View File

@ -1146,6 +1146,25 @@ WOLFSSL_API WOLFSSL_X509* wolfSSL_SESSION_get0_peer(WOLFSSL_SESSION* session);
typedef int (*VerifyCallback)(int, WOLFSSL_X509_STORE_CTX*); typedef int (*VerifyCallback)(int, WOLFSSL_X509_STORE_CTX*);
typedef void (CallbackInfoState)(const WOLFSSL* ssl, int, int); typedef void (CallbackInfoState)(const WOLFSSL* ssl, int, int);
/* class index for wolfSSL_CRYPTO_get_ex_new_index */
#define WOLF_CRYPTO_EX_INDEX_SSL 0
#define WOLF_CRYPTO_EX_INDEX_SSL_CTX 1
#define WOLF_CRYPTO_EX_INDEX_SSL_SESSION 2
#define WOLF_CRYPTO_EX_INDEX_X509 3
#define WOLF_CRYPTO_EX_INDEX_X509_STORE 4
#define WOLF_CRYPTO_EX_INDEX_X509_STORE_CTX 5
#define WOLF_CRYPTO_EX_INDEX_DH 6
#define WOLF_CRYPTO_EX_INDEX_DSA 7
#define WOLF_CRYPTO_EX_INDEX_EC_KEY 8
#define WOLF_CRYPTO_EX_INDEX_RSA 9
#define WOLF_CRYPTO_EX_INDEX_ENGINE 10
#define WOLF_CRYPTO_EX_INDEX_UI 11
#define WOLF_CRYPTO_EX_INDEX_BIO 12
#define WOLF_CRYPTO_EX_INDEX_APP 13
#define WOLF_CRYPTO_EX_INDEX_UI_METHOD 14
#define WOLF_CRYPTO_EX_INDEX_DRBG 15
#define WOLF_CRYPTO_EX_INDEX__COUNT 16
#ifdef HAVE_EX_DATA #ifdef HAVE_EX_DATA
typedef int (WOLFSSL_CRYPTO_EX_new)(void* p, void* ptr, typedef int (WOLFSSL_CRYPTO_EX_new)(void* p, void* ptr,
WOLFSSL_CRYPTO_EX_DATA* a, int idx, long argValue, void* arg); WOLFSSL_CRYPTO_EX_DATA* a, int idx, long argValue, void* arg);