MySQL 9.2.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
my_ssl_algo_cache.h
Go to the documentation of this file.
1/* Copyright (c) 2024, Oracle and/or its affiliates.
2
3This program is free software; you can redistribute it and/or modify
4it under the terms of the GNU General Public License, version 2.0,
5as published by the Free Software Foundation.
6
7This program is designed to work with certain software (including
8but not limited to OpenSSL) that is licensed under separate terms,
9as designated in a particular file or component or in included license
10documentation. The authors of MySQL hereby grant you an additional
11permission to link the program and your derivative works with the
12separately licensed software that they have either included with
13the program or referenced in the documentation.
14
15This program is distributed in the hope that it will be useful,
16but WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18GNU General Public License, version 2.0, for more details.
19
20You should have received a copy of the GNU General Public License
21along with this program; if not, write to the Free Software
22Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
23
24/**
25 @file include/my_ssl_algo_cache.h
26*/
27
28#ifndef INCLUDE_MY_SSL_ALGO_CACHE_H_
29#define INCLUDE_MY_SSL_ALGO_CACHE_H_
30
31#include <openssl/evp.h>
32
33// cache algorithm pointers to improve OpenSSL 3.x performance
34// (only cached for server code, passthrough to method call on client)
35
36const EVP_MD *my_EVP_sha1();
37const EVP_MD *my_EVP_sha224();
38const EVP_MD *my_EVP_sha256();
39const EVP_MD *my_EVP_sha384();
40const EVP_MD *my_EVP_sha512();
41
42// DES-EDE3-CBC was deliberately not cached here
43const EVP_CIPHER *my_EVP_aes_128_ecb();
44const EVP_CIPHER *my_EVP_aes_128_cbc();
45const EVP_CIPHER *my_EVP_aes_128_cfb1();
46const EVP_CIPHER *my_EVP_aes_128_cfb8();
47const EVP_CIPHER *my_EVP_aes_128_cfb128();
48const EVP_CIPHER *my_EVP_aes_128_ofb();
49const EVP_CIPHER *my_EVP_aes_192_ecb();
50const EVP_CIPHER *my_EVP_aes_192_cbc();
51const EVP_CIPHER *my_EVP_aes_192_cfb1();
52const EVP_CIPHER *my_EVP_aes_192_cfb8();
53const EVP_CIPHER *my_EVP_aes_192_cfb128();
54const EVP_CIPHER *my_EVP_aes_192_ofb();
55const EVP_CIPHER *my_EVP_aes_256_ecb();
56const EVP_CIPHER *my_EVP_aes_256_cbc();
57const EVP_CIPHER *my_EVP_aes_256_cfb1();
58const EVP_CIPHER *my_EVP_aes_256_cfb8();
59const EVP_CIPHER *my_EVP_aes_256_cfb128();
60const EVP_CIPHER *my_EVP_aes_256_ofb();
61const EVP_CIPHER *my_EVP_aes_256_xts();
62const EVP_CIPHER *my_EVP_aes_256_wrap();
63const EVP_CIPHER *my_EVP_aes_256_ctr();
64
68
69#endif // INCLUDE_MY_SSL_ALGO_CACHE_H_
const EVP_CIPHER * my_EVP_aes_256_ofb()
Definition: my_ssl_algo_cache.cc:247
const EVP_MD * my_EVP_sha512()
Definition: my_ssl_algo_cache.cc:103
const EVP_CIPHER * my_EVP_aes_256_ecb()
Definition: my_ssl_algo_cache.cc:207
const EVP_MD * my_EVP_sha1()
Definition: my_ssl_algo_cache.cc:71
const EVP_CIPHER * my_EVP_aes_192_cfb8()
Definition: my_ssl_algo_cache.cc:183
const EVP_CIPHER * my_EVP_aes_256_wrap()
Definition: my_ssl_algo_cache.cc:263
const EVP_CIPHER * my_EVP_aes_192_ofb()
Definition: my_ssl_algo_cache.cc:199
const EVP_CIPHER * my_EVP_aes_128_cfb128()
Definition: my_ssl_algo_cache.cc:143
const EVP_CIPHER * my_EVP_aes_256_cfb8()
Definition: my_ssl_algo_cache.cc:231
const EVP_CIPHER * my_EVP_aes_192_cbc()
Definition: my_ssl_algo_cache.cc:167
const EVP_CIPHER * my_EVP_aes_128_cbc()
Definition: my_ssl_algo_cache.cc:119
const EVP_CIPHER * my_EVP_aes_192_ecb()
Definition: my_ssl_algo_cache.cc:159
const EVP_CIPHER * my_EVP_aes_256_xts()
Definition: my_ssl_algo_cache.cc:255
void my_ssl_algorithm_cache_unload()
Definition: my_ssl_algo_cache.cc:375
const EVP_CIPHER * my_EVP_aes_192_cfb128()
Definition: my_ssl_algo_cache.cc:191
const EVP_CIPHER * my_EVP_aes_128_cfb1()
Definition: my_ssl_algo_cache.cc:127
const EVP_CIPHER * my_EVP_aes_128_cfb8()
Definition: my_ssl_algo_cache.cc:135
const EVP_CIPHER * my_EVP_aes_192_cfb1()
Definition: my_ssl_algo_cache.cc:175
const EVP_CIPHER * my_EVP_aes_256_ctr()
Definition: my_ssl_algo_cache.cc:271
const EVP_CIPHER * my_EVP_aes_256_cbc()
Definition: my_ssl_algo_cache.cc:215
int my_get_fips_mode()
Definition: my_ssl_algo_cache.cc:436
const EVP_CIPHER * my_EVP_aes_256_cfb128()
Definition: my_ssl_algo_cache.cc:239
const EVP_CIPHER * my_EVP_aes_128_ofb()
Definition: my_ssl_algo_cache.cc:151
const EVP_MD * my_EVP_sha256()
Definition: my_ssl_algo_cache.cc:87
const EVP_CIPHER * my_EVP_aes_256_cfb1()
Definition: my_ssl_algo_cache.cc:223
void my_ssl_algorithm_cache_load()
Definition: my_ssl_algo_cache.cc:279
const EVP_MD * my_EVP_sha384()
Definition: my_ssl_algo_cache.cc:95
const EVP_CIPHER * my_EVP_aes_128_ecb()
Definition: my_ssl_algo_cache.cc:111
const EVP_MD * my_EVP_sha224()
Definition: my_ssl_algo_cache.cc:79