mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 10:47:28 +02:00
Expose session serialization outside of OPENSSL_EXTRA
Use `./configure CFLAGS='-DHAVE_EXT_CACHE'` to enable session serialization without `OPENSSL_EXTRA`.
This commit is contained in:
@ -587,6 +587,7 @@ if test "$ENABLED_OPENSSLEXTRA" = "yes" && test "x$ENABLED_OPENSSLCOEXIST" = "xn
|
|||||||
then
|
then
|
||||||
AM_CFLAGS="-DOPENSSL_EXTRA -DWOLFSSL_ALWAYS_VERIFY_CB $AM_CFLAGS"
|
AM_CFLAGS="-DOPENSSL_EXTRA -DWOLFSSL_ALWAYS_VERIFY_CB $AM_CFLAGS"
|
||||||
AM_CFLAGS="-DWOLFSSL_VERIFY_CB_ALL_CERTS -DWOLFSSL_EXTRA_ALERTS $AM_CFLAGS"
|
AM_CFLAGS="-DWOLFSSL_VERIFY_CB_ALL_CERTS -DWOLFSSL_EXTRA_ALERTS $AM_CFLAGS"
|
||||||
|
AM_CFLAGS="-DHAVE_EXT_CACHE $AM_CFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$ENABLED_OPENSSLEXTRA" = "yes" && test "$ENABLED_SMALL" = "yes"
|
if test "$ENABLED_OPENSSLEXTRA" = "yes" && test "$ENABLED_SMALL" = "yes"
|
||||||
|
34
src/ssl.c
34
src/ssl.c
@ -16696,19 +16696,6 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out,
|
|||||||
return WOLFSSL_SUCCESS;
|
return WOLFSSL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
long wolfSSL_SSL_SESSION_set_timeout(WOLFSSL_SESSION* ses, long t)
|
|
||||||
{
|
|
||||||
word32 tmptime;
|
|
||||||
if (!ses || t < 0)
|
|
||||||
return BAD_FUNC_ARG;
|
|
||||||
|
|
||||||
tmptime = t & 0xFFFFFFFF;
|
|
||||||
|
|
||||||
ses->timeout = tmptime;
|
|
||||||
|
|
||||||
return WOLFSSL_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* OPENSSL_EXTRA || WOLFSSL_WPAS_SMALL */
|
#endif /* OPENSSL_EXTRA || WOLFSSL_WPAS_SMALL */
|
||||||
|
|
||||||
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
|
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
|
||||||
@ -27019,9 +27006,6 @@ void wolfSSL_CTX_sess_set_new_cb(WOLFSSL_CTX* ctx,
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* OPENSSL_EXTRA || HAVE_EXT_CACHE */
|
|
||||||
|
|
||||||
#if defined(OPENSSL_EXTRA) || defined(WOLFSSL_WPAS_SMALL)
|
|
||||||
void wolfSSL_CTX_sess_set_remove_cb(WOLFSSL_CTX* ctx, void (*f)(WOLFSSL_CTX*,
|
void wolfSSL_CTX_sess_set_remove_cb(WOLFSSL_CTX* ctx, void (*f)(WOLFSSL_CTX*,
|
||||||
WOLFSSL_SESSION*))
|
WOLFSSL_SESSION*))
|
||||||
{
|
{
|
||||||
@ -27034,9 +27018,7 @@ void wolfSSL_CTX_sess_set_remove_cb(WOLFSSL_CTX* ctx, void (*f)(WOLFSSL_CTX*,
|
|||||||
(void)f;
|
(void)f;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif /* OPENSSL_EXTRA || WOLFSSL_WPAS_SMALL */
|
|
||||||
|
|
||||||
#ifdef OPENSSL_EXTRA
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
@ -27409,7 +27391,9 @@ end:
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* OPENSSL_EXTRA || HAVE_EXT_CACHE */
|
||||||
|
|
||||||
|
#if defined(OPENSSL_EXTRA) || defined(HAVE_EXT_CACHE)
|
||||||
long wolfSSL_SESSION_get_timeout(const WOLFSSL_SESSION* sess)
|
long wolfSSL_SESSION_get_timeout(const WOLFSSL_SESSION* sess)
|
||||||
{
|
{
|
||||||
long timeout = 0;
|
long timeout = 0;
|
||||||
@ -27429,8 +27413,20 @@ long wolfSSL_SESSION_get_time(const WOLFSSL_SESSION* sess)
|
|||||||
return bornOn;
|
return bornOn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long wolfSSL_SSL_SESSION_set_timeout(WOLFSSL_SESSION* ses, long t)
|
||||||
|
{
|
||||||
|
word32 tmptime;
|
||||||
|
if (!ses || t < 0)
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
|
||||||
#endif /* OPENSSL_EXTRA */
|
tmptime = t & 0xFFFFFFFF;
|
||||||
|
|
||||||
|
ses->timeout = tmptime;
|
||||||
|
|
||||||
|
return WOLFSSL_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* OPENSSL_EXTRA || HAVE_EXT_CACHE */
|
||||||
|
|
||||||
|
|
||||||
#ifdef KEEP_PEER_CERT
|
#ifdef KEEP_PEER_CERT
|
||||||
|
@ -25900,7 +25900,7 @@ static void test_wolfSSL_BIO_f_md(void)
|
|||||||
|
|
||||||
static void test_wolfSSL_SESSION(void)
|
static void test_wolfSSL_SESSION(void)
|
||||||
{
|
{
|
||||||
#if defined(OPENSSL_EXTRA) && !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && \
|
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && \
|
||||||
!defined(NO_RSA) && defined(HAVE_EXT_CACHE) && \
|
!defined(NO_RSA) && defined(HAVE_EXT_CACHE) && \
|
||||||
defined(HAVE_IO_TESTS_DEPENDENCIES)
|
defined(HAVE_IO_TESTS_DEPENDENCIES)
|
||||||
|
|
||||||
@ -25908,10 +25908,12 @@ static void test_wolfSSL_SESSION(void)
|
|||||||
WOLFSSL_CTX* ctx;
|
WOLFSSL_CTX* ctx;
|
||||||
WOLFSSL_SESSION* sess;
|
WOLFSSL_SESSION* sess;
|
||||||
WOLFSSL_SESSION* sess_copy;
|
WOLFSSL_SESSION* sess_copy;
|
||||||
const unsigned char context[] = "user app context";
|
|
||||||
unsigned char* sessDer = NULL;
|
unsigned char* sessDer = NULL;
|
||||||
unsigned char* ptr = NULL;
|
unsigned char* ptr = NULL;
|
||||||
|
#ifdef OPENSSL_EXTRA
|
||||||
|
const unsigned char context[] = "user app context";
|
||||||
unsigned int contextSz = (unsigned int)sizeof(context);
|
unsigned int contextSz = (unsigned int)sizeof(context);
|
||||||
|
#endif
|
||||||
int ret, err, sockfd, sz;
|
int ret, err, sockfd, sz;
|
||||||
tcp_ready ready;
|
tcp_ready ready;
|
||||||
func_args server_args;
|
func_args server_args;
|
||||||
@ -26040,6 +26042,7 @@ static void test_wolfSSL_SESSION(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef OPENSSL_EXTRA
|
||||||
/* fail case with miss match session context IDs (use compatibility API) */
|
/* fail case with miss match session context IDs (use compatibility API) */
|
||||||
AssertIntEQ(SSL_set_session_id_context(ssl, context, contextSz),
|
AssertIntEQ(SSL_set_session_id_context(ssl, context, contextSz),
|
||||||
SSL_SUCCESS);
|
SSL_SUCCESS);
|
||||||
@ -26051,6 +26054,7 @@ static void test_wolfSSL_SESSION(void)
|
|||||||
SSL_SUCCESS);
|
SSL_SUCCESS);
|
||||||
AssertNotNull(ssl = wolfSSL_new(ctx));
|
AssertNotNull(ssl = wolfSSL_new(ctx));
|
||||||
AssertIntEQ(wolfSSL_set_session(ssl, sess), SSL_FAILURE);
|
AssertIntEQ(wolfSSL_set_session(ssl, sess), SSL_FAILURE);
|
||||||
|
#endif
|
||||||
wolfSSL_free(ssl);
|
wolfSSL_free(ssl);
|
||||||
|
|
||||||
SSL_SESSION_free(sess);
|
SSL_SESSION_free(sess);
|
||||||
|
Reference in New Issue
Block a user