mirror of https://github.com/wolfSSL/wolfssl
Add documentation explaining get_ex_new_index API limitations
This commit is contained in:
parent
969ad96dee
commit
8b2fcd0643
|
@ -14346,4 +14346,23 @@ int wolfSSL_dtls13_has_pending_msg(WOLFSSL *ssl);
|
|||
\sa wolfSSL_write_early_data
|
||||
\sa wolfSSL_read_early_data
|
||||
*/
|
||||
unsigned int wolfSSL_SESSION_get_max_early_data(const WOLFSSL_SESSION *s);
|
||||
unsigned int wolfSSL_SESSION_get_max_early_data(const WOLFSSL_SESSION *s);
|
||||
|
||||
/*!
|
||||
\ingroup SSL
|
||||
\brief Get a new index for external data. This entry applies also for the
|
||||
following API:
|
||||
- wolfSSL_CTX_get_ex_new_index
|
||||
- wolfSSL_get_ex_new_index
|
||||
- wolfSSL_SESSION_get_ex_new_index
|
||||
- wolfSSL_X509_get_ex_new_index
|
||||
|
||||
\param [in] All input parameters are ignored. The callback functions are not
|
||||
supported with wolfSSL.
|
||||
|
||||
\return The new index value to be used with the external data API for this
|
||||
object class.
|
||||
*/
|
||||
int wolfSSL_CRYPTO_get_ex_new_index(int, void*, void*, void*, void*);
|
||||
|
||||
|
||||
|
|
28
src/ssl.c
28
src/ssl.c
|
@ -30628,11 +30628,8 @@ int wolfSSL_CTX_get_ex_new_index(long idx, void* arg, void* a, void* b,
|
|||
{
|
||||
|
||||
WOLFSSL_ENTER("wolfSSL_CTX_get_ex_new_index");
|
||||
(void)idx;
|
||||
(void)arg;
|
||||
(void)a;
|
||||
(void)b;
|
||||
(void)c;
|
||||
|
||||
WOLFSSL_CRYPTO_EX_DATA_IGNORE_PARAMS(idx, arg, a, b, c);
|
||||
|
||||
return wolfssl_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL_CTX);
|
||||
}
|
||||
|
@ -30645,14 +30642,9 @@ int wolfSSL_get_ex_new_index(long argValue, void* arg,
|
|||
WOLFSSL_CRYPTO_EX_new* cb1, WOLFSSL_CRYPTO_EX_dup* cb2,
|
||||
WOLFSSL_CRYPTO_EX_free* cb3)
|
||||
{
|
||||
|
||||
WOLFSSL_ENTER("wolfSSL_get_ex_new_index");
|
||||
|
||||
(void)argValue;
|
||||
(void)arg;
|
||||
(void)cb1;
|
||||
(void)cb2;
|
||||
(void)cb3;
|
||||
WOLFSSL_CRYPTO_EX_DATA_IGNORE_PARAMS(argValue, arg, cb1, cb2, cb3);
|
||||
|
||||
return wolfssl_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL);
|
||||
}
|
||||
|
@ -31400,11 +31392,7 @@ int wolfSSL_SESSION_get_ex_new_index(long idx, void* data, void* cb1,
|
|||
void* cb2, CRYPTO_free_func* cb3)
|
||||
{
|
||||
WOLFSSL_ENTER("wolfSSL_SESSION_get_ex_new_index");
|
||||
(void)idx;
|
||||
(void)cb1;
|
||||
(void)cb2;
|
||||
(void)cb3;
|
||||
(void)data;
|
||||
WOLFSSL_CRYPTO_EX_DATA_IGNORE_PARAMS(idx, data, cb1, cb2, cb3);
|
||||
return wolfssl_get_ex_new_index(WOLF_CRYPTO_EX_INDEX_SSL_SESSION);
|
||||
}
|
||||
#endif
|
||||
|
@ -38116,11 +38104,9 @@ int wolfSSL_CRYPTO_get_ex_new_index(int class_index, long argl, void *argp,
|
|||
WOLFSSL_CRYPTO_EX_free* free_func)
|
||||
{
|
||||
WOLFSSL_ENTER("wolfSSL_CRYPTO_get_ex_new_index");
|
||||
(void)argl;
|
||||
(void)argp;
|
||||
(void)new_func;
|
||||
(void)dup_func;
|
||||
(void)free_func;
|
||||
|
||||
WOLFSSL_CRYPTO_EX_DATA_IGNORE_PARAMS(argl, argp, new_func, dup_func,
|
||||
free_func);
|
||||
|
||||
return wolfssl_get_ex_new_index(class_index);
|
||||
}
|
||||
|
|
|
@ -11763,13 +11763,9 @@ int wolfSSL_sk_X509_num(const WOLF_STACK_OF(WOLFSSL_X509) *s)
|
|||
|
||||
int wolfSSL_X509_get_ex_new_index(int idx, void *arg, void *a, void *b, void *c)
|
||||
{
|
||||
|
||||
WOLFSSL_ENTER("wolfSSL_X509_get_ex_new_index");
|
||||
(void)idx;
|
||||
(void)arg;
|
||||
(void)a;
|
||||
(void)b;
|
||||
(void)c;
|
||||
|
||||
WOLFSSL_CRYPTO_EX_DATA_IGNORE_PARAMS(idx, arg, a, b, c);
|
||||
|
||||
return wolfssl_get_ex_new_index(CRYPTO_EX_INDEX_X509);
|
||||
}
|
||||
|
|
|
@ -1264,6 +1264,20 @@ typedef void (CallbackInfoState)(const WOLFSSL* ssl, int, int);
|
|||
#define WOLF_CRYPTO_EX_INDEX__COUNT 16
|
||||
|
||||
#ifdef HAVE_EX_DATA
|
||||
/* Helper macro to log that input arguments should not be used */
|
||||
#define WOLFSSL_CRYPTO_EX_DATA_IGNORE_PARAMS(a1, a2, a3, a4, a5) \
|
||||
(void)a1; \
|
||||
(void)a2; \
|
||||
(void)a3; \
|
||||
(void)a4; \
|
||||
(void)a5; \
|
||||
do { \
|
||||
if (a3 != NULL || a4 != NULL || a5 != NULL) { \
|
||||
WOLFSSL_MSG("get_ex_new_index API does not support " \
|
||||
"new, dup, or free callbacks"); \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
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,
|
||||
|
|
Loading…
Reference in New Issue