mbed TLS v2.16.1
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
include
mbedtls
ssl_cache.h
Go to the documentation of this file.
1
6
/*
7
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
8
* SPDX-License-Identifier: GPL-2.0
9
*
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation; either version 2 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the GNU General Public License along
21
* with this program; if not, write to the Free Software Foundation, Inc.,
22
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23
*
24
* This file is part of mbed TLS (https://tls.mbed.org)
25
*/
26
#ifndef MBEDTLS_SSL_CACHE_H
27
#define MBEDTLS_SSL_CACHE_H
28
29
#if !defined(MBEDTLS_CONFIG_FILE)
30
#include "
config.h
"
31
#else
32
#include MBEDTLS_CONFIG_FILE
33
#endif
34
35
#include "
ssl.h
"
36
37
#if defined(MBEDTLS_THREADING_C)
38
#include "
threading.h
"
39
#endif
40
49
#if !defined(MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT)
50
#define MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT 86400
51
#endif
52
53
#if !defined(MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES)
54
#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES 50
55
#endif
56
57
/* \} name SECTION: Module settings */
58
59
#ifdef __cplusplus
60
extern
"C"
{
61
#endif
62
63
typedef
struct
mbedtls_ssl_cache_context
mbedtls_ssl_cache_context
;
64
typedef
struct
mbedtls_ssl_cache_entry
mbedtls_ssl_cache_entry
;
65
69
struct
mbedtls_ssl_cache_entry
70
{
71
#if defined(MBEDTLS_HAVE_TIME)
72
mbedtls_time_t
timestamp
;
73
#endif
74
mbedtls_ssl_session
session
;
75
#if defined(MBEDTLS_X509_CRT_PARSE_C)
76
mbedtls_x509_buf
peer_cert
;
77
#endif
78
mbedtls_ssl_cache_entry
*
next
;
79
};
80
84
struct
mbedtls_ssl_cache_context
85
{
86
mbedtls_ssl_cache_entry
*
chain
;
87
int
timeout
;
88
int
max_entries
;
89
#if defined(MBEDTLS_THREADING_C)
90
mbedtls_threading_mutex_t mutex;
91
#endif
92
};
93
99
void
mbedtls_ssl_cache_init
(
mbedtls_ssl_cache_context
*cache );
100
108
int
mbedtls_ssl_cache_get
(
void
*data,
mbedtls_ssl_session
*session );
109
117
int
mbedtls_ssl_cache_set
(
void
*data,
const
mbedtls_ssl_session
*session );
118
119
#if defined(MBEDTLS_HAVE_TIME)
120
129
void
mbedtls_ssl_cache_set_timeout
(
mbedtls_ssl_cache_context
*cache,
int
timeout );
130
#endif
/* MBEDTLS_HAVE_TIME */
131
139
void
mbedtls_ssl_cache_set_max_entries
(
mbedtls_ssl_cache_context
*cache,
int
max );
140
146
void
mbedtls_ssl_cache_free
(
mbedtls_ssl_cache_context
*cache );
147
148
#ifdef __cplusplus
149
}
150
#endif
151
152
#endif
/* ssl_cache.h */
Generated on Tue Aug 13 2019 20:47:14 for mbed TLS v2.16.1 by
1.8.3.1