mbed TLS v3.1.0
Data Structures | Typedefs | Functions
ssl_cache.h File Reference

SSL session cache implementation. More...

#include "mbedtls/private_access.h"
#include "mbedtls/build_info.h"
#include "mbedtls/ssl.h"
#include "mbedtls/threading.h"
Include dependency graph for ssl_cache.h:

Go to the source code of this file.

Data Structures

struct  mbedtls_ssl_cache_entry
 This structure is used for storing cache entries. More...
 
struct  mbedtls_ssl_cache_context
 Cache context. More...
 

Macros

SECTION: Module settings

The configuration options you can set for this module are in this section. Either change them in mbedtls_config.h or define them on the compiler command line.

#define MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT   86400
 
#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES   50
 

Typedefs

typedef struct
mbedtls_ssl_cache_context 
mbedtls_ssl_cache_context
 
typedef struct
mbedtls_ssl_cache_entry 
mbedtls_ssl_cache_entry
 

Functions

void mbedtls_ssl_cache_init (mbedtls_ssl_cache_context *cache)
 Initialize an SSL cache context. More...
 
int mbedtls_ssl_cache_get (void *data, unsigned char const *session_id, size_t session_id_len, mbedtls_ssl_session *session)
 Cache get callback implementation (Thread-safe if MBEDTLS_THREADING_C is enabled) More...
 
int mbedtls_ssl_cache_set (void *data, unsigned char const *session_id, size_t session_id_len, const mbedtls_ssl_session *session)
 Cache set callback implementation (Thread-safe if MBEDTLS_THREADING_C is enabled) More...
 
void mbedtls_ssl_cache_set_timeout (mbedtls_ssl_cache_context *cache, int timeout)
 Set the cache timeout (Default: MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT (1 day)) More...
 
void mbedtls_ssl_cache_set_max_entries (mbedtls_ssl_cache_context *cache, int max)
 Set the maximum number of cache entries (Default: MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES (50)) More...
 
void mbedtls_ssl_cache_free (mbedtls_ssl_cache_context *cache)
 Free referenced items in a cache context and clear memory. More...
 

Detailed Description

SSL session cache implementation.

Definition in file ssl_cache.h.

Macro Definition Documentation

#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES   50

Maximum entries in cache

Definition at line 47 of file ssl_cache.h.

#define MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT   86400

1 day

Definition at line 43 of file ssl_cache.h.

Typedef Documentation

Definition at line 56 of file ssl_cache.h.

Definition at line 57 of file ssl_cache.h.

Function Documentation

void mbedtls_ssl_cache_free ( mbedtls_ssl_cache_context cache)

Free referenced items in a cache context and clear memory.

Parameters
cacheSSL cache context
int mbedtls_ssl_cache_get ( void *  data,
unsigned char const *  session_id,
size_t  session_id_len,
mbedtls_ssl_session session 
)

Cache get callback implementation (Thread-safe if MBEDTLS_THREADING_C is enabled)

Parameters
dataThe SSL cache context to use.
session_idThe pointer to the buffer holding the session ID for the session to load.
session_id_lenThe length of session_id in bytes.
sessionThe address at which to store the session associated with session_id, if present.
void mbedtls_ssl_cache_init ( mbedtls_ssl_cache_context cache)

Initialize an SSL cache context.

Parameters
cacheSSL cache context
int mbedtls_ssl_cache_set ( void *  data,
unsigned char const *  session_id,
size_t  session_id_len,
const mbedtls_ssl_session session 
)

Cache set callback implementation (Thread-safe if MBEDTLS_THREADING_C is enabled)

Parameters
dataThe SSL cache context to use.
session_idThe pointer to the buffer holding the session ID associated to session.
session_id_lenThe length of session_id in bytes.
sessionThe session to store.
void mbedtls_ssl_cache_set_max_entries ( mbedtls_ssl_cache_context cache,
int  max 
)

Set the maximum number of cache entries (Default: MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES (50))

Parameters
cacheSSL cache context
maxcache entry maximum
void mbedtls_ssl_cache_set_timeout ( mbedtls_ssl_cache_context cache,
int  timeout 
)

Set the cache timeout (Default: MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT (1 day))

A timeout of 0 indicates no timeout.

Parameters
cacheSSL cache context
timeoutcache entry timeout in seconds