mirror of https://github.com/wolfSSL/wolfssl.git
Fixes for building with `HAVE_EX_DATA` no compat layer.
parent
0231304607
commit
9b808bde20
44
src/ssl.c
44
src/ssl.c
|
@ -47574,32 +47574,32 @@ static int get_ex_new_index(int class_index)
|
|||
int idx = -1;
|
||||
|
||||
switch(class_index) {
|
||||
case CRYPTO_EX_INDEX_SSL:
|
||||
case WOLF_CRYPTO_EX_INDEX_SSL:
|
||||
idx = ssl_idx++;
|
||||
break;
|
||||
case CRYPTO_EX_INDEX_SSL_CTX:
|
||||
case WOLF_CRYPTO_EX_INDEX_SSL_CTX:
|
||||
idx = ctx_idx++;
|
||||
break;
|
||||
case CRYPTO_EX_INDEX_X509:
|
||||
case WOLF_CRYPTO_EX_INDEX_X509:
|
||||
idx = x509_idx++;
|
||||
break;
|
||||
case CRYPTO_EX_INDEX_SSL_SESSION:
|
||||
case WOLF_CRYPTO_EX_INDEX_SSL_SESSION:
|
||||
idx = ssl_session_idx++;
|
||||
break;
|
||||
|
||||
/* following class indexes are not supoprted */
|
||||
case CRYPTO_EX_INDEX_X509_STORE:
|
||||
case CRYPTO_EX_INDEX_X509_STORE_CTX:
|
||||
case CRYPTO_EX_INDEX_DH:
|
||||
case CRYPTO_EX_INDEX_DSA:
|
||||
case CRYPTO_EX_INDEX_EC_KEY:
|
||||
case CRYPTO_EX_INDEX_RSA:
|
||||
case CRYPTO_EX_INDEX_ENGINE:
|
||||
case CRYPTO_EX_INDEX_UI:
|
||||
case CRYPTO_EX_INDEX_BIO:
|
||||
case CRYPTO_EX_INDEX_APP:
|
||||
case CRYPTO_EX_INDEX_UI_METHOD:
|
||||
case CRYPTO_EX_INDEX_DRBG:
|
||||
case WOLF_CRYPTO_EX_INDEX_X509_STORE:
|
||||
case WOLF_CRYPTO_EX_INDEX_X509_STORE_CTX:
|
||||
case WOLF_CRYPTO_EX_INDEX_DH:
|
||||
case WOLF_CRYPTO_EX_INDEX_DSA:
|
||||
case WOLF_CRYPTO_EX_INDEX_EC_KEY:
|
||||
case WOLF_CRYPTO_EX_INDEX_RSA:
|
||||
case WOLF_CRYPTO_EX_INDEX_ENGINE:
|
||||
case WOLF_CRYPTO_EX_INDEX_UI:
|
||||
case WOLF_CRYPTO_EX_INDEX_BIO:
|
||||
case WOLF_CRYPTO_EX_INDEX_APP:
|
||||
case WOLF_CRYPTO_EX_INDEX_UI_METHOD:
|
||||
case WOLF_CRYPTO_EX_INDEX_DRBG:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -47633,7 +47633,7 @@ int wolfSSL_CTX_get_ex_new_index(long idx, void* arg, void* a, void* b,
|
|||
(void)b;
|
||||
(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
|
||||
|
@ -47653,7 +47653,7 @@ int wolfSSL_get_ex_new_index(long argValue, void* arg,
|
|||
(void)cb2;
|
||||
(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)cb3;
|
||||
(void)data;
|
||||
return get_ex_new_index(CRYPTO_EX_INDEX_SSL_SESSION);
|
||||
return get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL_SESSION);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -58123,9 +58123,9 @@ int wolfSSL_CRYPTO_set_ex_data_with_cleanup(
|
|||
* Issues unique index for the class specified by class_index.
|
||||
* Other parameter except class_index are ignored.
|
||||
* Currently, following class_index are accepted:
|
||||
* - CRYPTO_EX_INDEX_SSL
|
||||
* - CRYPTO_EX_INDEX_SSL_CTX
|
||||
* - CRYPTO_EX_INDEX_X509
|
||||
* - WOLF_CRYPTO_EX_INDEX_SSL
|
||||
* - WOLF_CRYPTO_EX_INDEX_SSL_CTX
|
||||
* - WOLF_CRYPTO_EX_INDEX_X509
|
||||
* @param class_index index one of CRYPTO_EX_INDEX_xxx
|
||||
* @param argp parameters to be saved
|
||||
* @param argl parameters to be saved
|
||||
|
|
40
tests/api.c
40
tests/api.c
|
@ -51226,61 +51226,61 @@ static void test_wolfSSL_CRYPTO_get_ex_new_index(void)
|
|||
printf(testingFmt, "test_wolfSSL_CRYPTO_get_ex_new_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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
AssertIntEQ(wolfSSL_CRYPTO_get_ex_new_index(20, 0,NULL, NULL, NULL, NULL ), -1);
|
||||
|
||||
/* 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 );
|
||||
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 );
|
||||
AssertIntNE(idx1, -1);
|
||||
AssertIntNE(idx2, -1);
|
||||
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 );
|
||||
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 );
|
||||
AssertIntNE(idx1, -1);
|
||||
AssertIntNE(idx2, -1);
|
||||
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 );
|
||||
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 );
|
||||
AssertIntNE(idx1, -1);
|
||||
AssertIntNE(idx2, -1);
|
||||
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 );
|
||||
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 );
|
||||
AssertIntNE(idx1, -1);
|
||||
AssertIntNE(idx2, -1);
|
||||
|
|
|
@ -68,23 +68,23 @@ WOLFSSL_API int wolfSSL_OPENSSL_init_crypto(word64 opts, const OPENSSL_INIT_SETT
|
|||
#endif
|
||||
|
||||
/* class index for wolfSSL_CRYPTO_get_ex_new_index */
|
||||
#define CRYPTO_EX_INDEX_SSL 0
|
||||
#define CRYPTO_EX_INDEX_SSL_CTX 1
|
||||
#define CRYPTO_EX_INDEX_SSL_SESSION 2
|
||||
#define CRYPTO_EX_INDEX_X509 3
|
||||
#define CRYPTO_EX_INDEX_X509_STORE 4
|
||||
#define CRYPTO_EX_INDEX_X509_STORE_CTX 5
|
||||
#define CRYPTO_EX_INDEX_DH 6
|
||||
#define CRYPTO_EX_INDEX_DSA 7
|
||||
#define CRYPTO_EX_INDEX_EC_KEY 8
|
||||
#define CRYPTO_EX_INDEX_RSA 9
|
||||
#define CRYPTO_EX_INDEX_ENGINE 10
|
||||
#define CRYPTO_EX_INDEX_UI 11
|
||||
#define CRYPTO_EX_INDEX_BIO 12
|
||||
#define CRYPTO_EX_INDEX_APP 13
|
||||
#define CRYPTO_EX_INDEX_UI_METHOD 14
|
||||
#define CRYPTO_EX_INDEX_DRBG 15
|
||||
#define CRYPTO_EX_INDEX__COUNT 16
|
||||
#define CRYPTO_EX_INDEX_SSL WOLF_CRYPTO_EX_INDEX_SSL
|
||||
#define CRYPTO_EX_INDEX_SSL_CTX WOLF_CRYPTO_EX_INDEX_SSL_CTX
|
||||
#define CRYPTO_EX_INDEX_SSL_SESSION WOLF_CRYPTO_EX_INDEX_SSL_SESSION
|
||||
#define CRYPTO_EX_INDEX_X509 WOLF_CRYPTO_EX_INDEX_X509
|
||||
#define CRYPTO_EX_INDEX_X509_STORE WOLF_CRYPTO_EX_INDEX_X509_STORE
|
||||
#define CRYPTO_EX_INDEX_X509_STORE_CTX WOLF_CRYPTO_EX_INDEX_X509_STORE_CTX
|
||||
#define CRYPTO_EX_INDEX_DH WOLF_CRYPTO_EX_INDEX_DH
|
||||
#define CRYPTO_EX_INDEX_DSA WOLF_CRYPTO_EX_INDEX_DSA
|
||||
#define CRYPTO_EX_INDEX_EC_KEY WOLF_CRYPTO_EX_INDEX_EC_KEY
|
||||
#define CRYPTO_EX_INDEX_RSA WOLF_CRYPTO_EX_INDEX_RSA
|
||||
#define CRYPTO_EX_INDEX_ENGINE WOLF_CRYPTO_EX_INDEX_ENGINE
|
||||
#define CRYPTO_EX_INDEX_UI WOLF_CRYPTO_EX_INDEX_UI
|
||||
#define CRYPTO_EX_INDEX_BIO WOLF_CRYPTO_EX_INDEX_BIO
|
||||
#define CRYPTO_EX_INDEX_APP WOLF_CRYPTO_EX_INDEX_APP
|
||||
#define CRYPTO_EX_INDEX_UI_METHOD WOLF_CRYPTO_EX_INDEX_UI_METHOD
|
||||
#define CRYPTO_EX_INDEX_DRBG WOLF_CRYPTO_EX_INDEX_DRBG
|
||||
#define CRYPTO_EX_INDEX__COUNT WOLF_CRYPTO_EX_INDEX__COUNT
|
||||
|
||||
#define crypto_threadid_st WOLFSSL_CRYPTO_THREADID
|
||||
#define CRYPTO_THREADID WOLFSSL_CRYPTO_THREADID
|
||||
|
|
|
@ -1277,7 +1277,6 @@ typedef WOLFSSL_SRTP_PROTECTION_PROFILE SRTP_PROTECTION_PROFILE;
|
|||
#define OPENSSL_INIT_LOAD_SSL_STRINGS 0x00200000L
|
||||
#define OPENSSL_INIT_LOAD_CRYPTO_STRINGS 0x00000002L
|
||||
|
||||
#define CRYPTO_EX_INDEX_SSL 0
|
||||
#define TLS_ANY_VERSION 0x10000
|
||||
#define DTLS1_2_VERSION 0xFEFD
|
||||
#define DTLS_MAX_VERSION DTLS1_2_VERSION
|
||||
|
|
|
@ -1146,6 +1146,25 @@ WOLFSSL_API WOLFSSL_X509* wolfSSL_SESSION_get0_peer(WOLFSSL_SESSION* session);
|
|||
typedef int (*VerifyCallback)(int, WOLFSSL_X509_STORE_CTX*);
|
||||
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
|
||||
typedef int (WOLFSSL_CRYPTO_EX_new)(void* p, void* ptr,
|
||||
WOLFSSL_CRYPTO_EX_DATA* a, int idx, long argValue, void* arg);
|
||||
|
|
Loading…
Reference in New Issue