mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-29 18:27:29 +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
|
||||
AM_CFLAGS="-DOPENSSL_EXTRA -DWOLFSSL_ALWAYS_VERIFY_CB $AM_CFLAGS"
|
||||
AM_CFLAGS="-DWOLFSSL_VERIFY_CB_ALL_CERTS -DWOLFSSL_EXTRA_ALERTS $AM_CFLAGS"
|
||||
AM_CFLAGS="-DHAVE_EXT_CACHE $AM_CFLAGS"
|
||||
fi
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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 */
|
||||
|
||||
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
|
||||
@ -27019,9 +27006,6 @@ void wolfSSL_CTX_sess_set_new_cb(WOLFSSL_CTX* ctx,
|
||||
#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*,
|
||||
WOLFSSL_SESSION*))
|
||||
{
|
||||
@ -27034,9 +27018,7 @@ void wolfSSL_CTX_sess_set_remove_cb(WOLFSSL_CTX* ctx, void (*f)(WOLFSSL_CTX*,
|
||||
(void)f;
|
||||
#endif
|
||||
}
|
||||
#endif /* OPENSSL_EXTRA || WOLFSSL_WPAS_SMALL */
|
||||
|
||||
#ifdef OPENSSL_EXTRA
|
||||
|
||||
/*
|
||||
*
|
||||
@ -27409,7 +27391,9 @@ end:
|
||||
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 timeout = 0;
|
||||
@ -27429,8 +27413,20 @@ long wolfSSL_SESSION_get_time(const WOLFSSL_SESSION* sess)
|
||||
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
|
||||
|
@ -25900,7 +25900,7 @@ static void test_wolfSSL_BIO_f_md(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(HAVE_IO_TESTS_DEPENDENCIES)
|
||||
|
||||
@ -25908,10 +25908,12 @@ static void test_wolfSSL_SESSION(void)
|
||||
WOLFSSL_CTX* ctx;
|
||||
WOLFSSL_SESSION* sess;
|
||||
WOLFSSL_SESSION* sess_copy;
|
||||
const unsigned char context[] = "user app context";
|
||||
unsigned char* sessDer = NULL;
|
||||
unsigned char* ptr = NULL;
|
||||
#ifdef OPENSSL_EXTRA
|
||||
const unsigned char context[] = "user app context";
|
||||
unsigned int contextSz = (unsigned int)sizeof(context);
|
||||
#endif
|
||||
int ret, err, sockfd, sz;
|
||||
tcp_ready ready;
|
||||
func_args server_args;
|
||||
@ -26040,6 +26042,7 @@ static void test_wolfSSL_SESSION(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef OPENSSL_EXTRA
|
||||
/* fail case with miss match session context IDs (use compatibility API) */
|
||||
AssertIntEQ(SSL_set_session_id_context(ssl, context, contextSz),
|
||||
SSL_SUCCESS);
|
||||
@ -26051,6 +26054,7 @@ static void test_wolfSSL_SESSION(void)
|
||||
SSL_SUCCESS);
|
||||
AssertNotNull(ssl = wolfSSL_new(ctx));
|
||||
AssertIntEQ(wolfSSL_set_session(ssl, sess), SSL_FAILURE);
|
||||
#endif
|
||||
wolfSSL_free(ssl);
|
||||
|
||||
SSL_SESSION_free(sess);
|
||||
|
Reference in New Issue
Block a user