ssl_cache.h File Reference

SSL session cache implementation. More...

`#include "ssl.h"`
`#include "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 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, mbedtls_ssl_session *session)
| Cache get callback implementation (Thread-safe if MBEDTLS_THREADING_C is enabled) More...
int | mbedtls_ssl_cache_set (void *data, 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.

Copyright (C) 2006-2015, ARM Limited, All Rights Reserved SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

This file is part of mbed TLS (https://tls.mbed.org)

Definition in file ssl_cache.h.

## Macro Definition Documentation

#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES 50

Maximum entries in cache

Definition at line 45 of file ssl_cache.h.

#define MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT 86400

1 day

Definition at line 41 of file ssl_cache.h.

## Typedef Documentation

typedef struct mbedtls_ssl_cache_context mbedtls_ssl_cache_context

Definition at line 54 of file ssl_cache.h.

typedef struct mbedtls_ssl_cache_entry mbedtls_ssl_cache_entry

Definition at line 55 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

  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

void mbedtls_ssl_cache_init | ( | mbedtls_ssl_cache_context * | cache | ) |

Initialize an SSL cache context.

Parameters

  cache | SSL cache context

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_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_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