23#ifndef SSLOPT_VARS_INCLUDED
24#define SSLOPT_VARS_INCLUDED
36#error This header is supposed to be used only in the client
47 "VERIFY_CA",
"VERIFY_IDENTITY",
NullS};
79 "WARNING: no verification of server certificate will be done. "
80 "Use --ssl-mode=VERIFY_CA or VERIFY_IDENTITY.\n");
102 char buff[4096], *bufptr = &buff[0];
106 fprintf(stderr,
"Error: Can't open the ssl session data file.\n");
109 long file_length =
sizeof(buff) - 1;
110 if (0 == fseek(fi, 0, SEEK_END)) {
111 file_length = ftell(fi);
113 file_length = std::min(file_length, 65536L);
115 file_length =
sizeof(buff) - 1;
116 fseek(fi, 0, SEEK_SET);
118 if (file_length > (
long)(
sizeof(buff) - 1)) {
119 bufptr = (
char *)
malloc(file_length + 1);
121 bufptr[file_length] = 0;
124 file_length =
sizeof(buff) - 1;
127 read = fread(bufptr, 1, file_length, fi);
129 fprintf(stderr,
"Error: Can't read the ssl session data file.\n");
131 if (bufptr != &buff[0])
free(bufptr);
134 assert(
read <= (
size_t)file_length);
140 if (bufptr != &buff[0])
free(bufptr);
151 "--ssl-session-data specified but the session was not reused.");
157#define SSL_SET_OPTIONS(mysql) set_client_ssl_options(mysql)
#define CR_SSL_FIPS_MODE_ERR
Definition: errmsg.h:125
static bool report_error(THD *thd, int error_code, Sql_condition::enum_severity_level level, Args... args)
Definition: error_handler.cc:290
bool read(T *ap, const GV &gv, const char *key)
Definition: sdi_impl.h:340
#define malloc(A)
Definition: lexyy.cc:914
#define free(A)
Definition: lexyy.cc:915
Some integer typedefs for easier portability.
This file defines the client API to MySQL and also the ABI of the dynamically linked libmysqlclient.
unsigned int STDCALL mysql_errno(MYSQL *mysql)
Definition: client.cc:9176
@ MYSQL_OPT_TLS_SNI_SERVERNAME
Definition: mysql.h:216
@ MYSQL_OPT_TLS_VERSION
Definition: mysql.h:204
@ MYSQL_OPT_SSL_FIPS_MODE
Definition: mysql.h:209
@ MYSQL_OPT_SSL_CRLPATH
Definition: mysql.h:195
@ MYSQL_OPT_SSL_SESSION_DATA
Definition: mysql.h:215
@ MYSQL_OPT_SSL_MODE
Definition: mysql.h:205
@ MYSQL_OPT_SSL_CRL
Definition: mysql.h:194
@ MYSQL_OPT_TLS_CIPHERSUITES
Definition: mysql.h:210
bool STDCALL mysql_get_ssl_session_reused(MYSQL *mysql)
Check if the current ssl session is reused.
Definition: client.cc:3621
bool STDCALL mysql_ssl_set(MYSQL *mysql, const char *key, const char *cert, const char *ca, const char *capath, const char *cipher)
Definition: client.cc:3415
int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg)
Definition: client.cc:8536
@ SSL_MODE_PREFERRED
Definition: mysql.h:273
@ SSL_MODE_VERIFY_CA
Definition: mysql.h:275
@ SSL_FIPS_MODE_OFF
Definition: mysql.h:280
const std::string FILE("FILE")
Definition: instrumented_condition_variable.h:29
#define NullS
Definition of the null string (a null pointer of type char *), used in some of our string handling co...
Definition: nulls.h:32
static char * opt_ssl_session_data
Definition: sslopt-vars.h:67
static int set_client_ssl_options(MYSQL *mysql)
Definition: sslopt-vars.h:71
static bool opt_ssl_session_data_continue_on_failed_reuse
Definition: sslopt-vars.h:68
static char * opt_ssl_cipher
Definition: sslopt-vars.h:59
const char * ssl_mode_names_lib[]
Definition: sslopt-vars.h:46
static char * opt_ssl_ca
Definition: sslopt-vars.h:56
static char * opt_tls_version
Definition: sslopt-vars.h:64
const char * SSL_SET_OPTIONS_ERROR
Definition: sslopt-vars.h:159
static char * opt_ssl_capath
Definition: sslopt-vars.h:57
static char * opt_ssl_crlpath
Definition: sslopt-vars.h:63
TYPELIB ssl_fips_mode_typelib
Definition: sslopt-vars.h:52
static char * opt_tls_ciphersuites
Definition: sslopt-vars.h:60
const char * ssl_fips_mode_names_lib[]
Definition: sslopt-vars.h:51
static char * opt_tls_sni_servername
Definition: sslopt-vars.h:69
static ulong opt_ssl_fips_mode
Definition: sslopt-vars.h:65
static uint opt_ssl_mode
Definition: sslopt-vars.h:55
static bool ssl_mode_set_explicitly
Definition: sslopt-vars.h:66
static char * opt_ssl_cert
Definition: sslopt-vars.h:58
TYPELIB ssl_mode_typelib
Definition: sslopt-vars.h:48
static char * opt_ssl_crl
Definition: sslopt-vars.h:62
static char * opt_ssl_key
Definition: sslopt-vars.h:61
static bool ssl_client_check_post_connect_ssl_setup(MYSQL *mysql, std::function< void(const char *)> report_error)
Definition: sslopt-vars.h:146
#define array_elements(A)
Definition: validate_password_imp.cc:47