ReactOS 0.4.16-dev-257-g6aa11ac
ssl_cache.h
Go to the documentation of this file.
1
6/*
7 * Copyright The Mbed TLS Contributors
8 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
9 *
10 * This file is provided under the Apache License 2.0, or the
11 * GNU General Public License v2.0 or later.
12 *
13 * **********
14 * Apache License 2.0:
15 *
16 * Licensed under the Apache License, Version 2.0 (the "License"); you may
17 * not use this file except in compliance with the License.
18 * You may obtain a copy of the License at
19 *
20 * http://www.apache.org/licenses/LICENSE-2.0
21 *
22 * Unless required by applicable law or agreed to in writing, software
23 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
24 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 * See the License for the specific language governing permissions and
26 * limitations under the License.
27 *
28 * **********
29 *
30 * **********
31 * GNU General Public License v2.0 or later:
32 *
33 * This program is free software; you can redistribute it and/or modify
34 * it under the terms of the GNU General Public License as published by
35 * the Free Software Foundation; either version 2 of the License, or
36 * (at your option) any later version.
37 *
38 * This program is distributed in the hope that it will be useful,
39 * but WITHOUT ANY WARRANTY; without even the implied warranty of
40 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
41 * GNU General Public License for more details.
42 *
43 * You should have received a copy of the GNU General Public License along
44 * with this program; if not, write to the Free Software Foundation, Inc.,
45 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
46 *
47 * **********
48 */
49#ifndef MBEDTLS_SSL_CACHE_H
50#define MBEDTLS_SSL_CACHE_H
51
52#if !defined(MBEDTLS_CONFIG_FILE)
53#include "config.h"
54#else
55#include MBEDTLS_CONFIG_FILE
56#endif
57
58#include "ssl.h"
59
60#if defined(MBEDTLS_THREADING_C)
61#include "threading.h"
62#endif
63
72#if !defined(MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT)
73#define MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT 86400
74#endif
75
76#if !defined(MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES)
77#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES 50
78#endif
79
80/* \} name SECTION: Module settings */
81
82#ifdef __cplusplus
83extern "C" {
84#endif
85
88
93{
94#if defined(MBEDTLS_HAVE_TIME)
96#endif
98#if defined(MBEDTLS_X509_CRT_PARSE_C)
100#endif
102};
103
108{
112#if defined(MBEDTLS_THREADING_C)
113 mbedtls_threading_mutex_t mutex;
114#endif
115};
116
123
132
141
142#if defined(MBEDTLS_HAVE_TIME)
152void mbedtls_ssl_cache_set_timeout( mbedtls_ssl_cache_context *cache, int timeout );
153#endif /* MBEDTLS_HAVE_TIME */
154
163
170
171#ifdef __cplusplus
172}
173#endif
174
175#endif /* ssl_cache.h */
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
time_t mbedtls_time_t
Definition: platform_time.h:78
SSL/TLS functions.
int mbedtls_ssl_cache_set(void *data, const mbedtls_ssl_session *session)
Cache set callback implementation (Thread-safe if MBEDTLS_THREADING_C is enabled)
void mbedtls_ssl_cache_init(mbedtls_ssl_cache_context *cache)
Initialize an SSL cache context.
void mbedtls_ssl_cache_free(mbedtls_ssl_cache_context *cache)
Free referenced items in a cache context and clear memory.
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))
int mbedtls_ssl_cache_get(void *data, mbedtls_ssl_session *session)
Cache get callback implementation (Thread-safe if MBEDTLS_THREADING_C is enabled)
Definition: cache.c:49
mbedtls_ssl_cache_entry * chain
Definition: ssl_cache.h:109
This structure is used for storing cache entries.
Definition: ssl_cache.h:93
mbedtls_ssl_cache_entry * next
Definition: ssl_cache.h:101
mbedtls_x509_buf peer_cert
Definition: ssl_cache.h:99
mbedtls_ssl_session session
Definition: ssl_cache.h:97
Definition: module.h:456
Definition: dhcpd.h:245
#define max(a, b)
Definition: svc.c:63
Threading abstraction layer.