File ssl_cache.h

SSL session cache implementation.

SECTION: Module settings

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

MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT

1 day

MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES

Maximum entries in cache

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.

Parameters

cache – SSL cache context

int mbedtls_ssl_cache_get(void *data, mbedtls_ssl_session *session)

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

Parameters
  • data – SSL cache context

  • session – session to retrieve entry for

int mbedtls_ssl_cache_set(void *data, const mbedtls_ssl_session *session)

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

Parameters
  • data – SSL cache context

  • session – session to store entry for

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
  • cache – SSL cache context

  • timeout – cache entry timeout in seconds

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
  • cache – SSL cache context

  • max – cache entry maximum

void mbedtls_ssl_cache_free(mbedtls_ssl_cache_context *cache)

Free referenced items in a cache context and clear memory.

Parameters

cache – SSL cache context

struct mbedtls_ssl_cache_entry
#include <ssl_cache.h>

This structure is used for storing cache entries.

Public Members

mbedtls_time_t timestamp

entry timestamp

mbedtls_ssl_session session

entry session

mbedtls_x509_buf peer_cert

entry peer_cert

mbedtls_ssl_cache_entry *next

chain pointer

struct mbedtls_ssl_cache_context
#include <ssl_cache.h>

Cache context.

Public Members

mbedtls_ssl_cache_entry *chain

start of the chain

int timeout

cache entry timeout

int max_entries

maximum entries

mbedtls_threading_mutex_t mutex

mutex