23#ifndef SSLOPT_VARS_INCLUDED
24#define SSLOPT_VARS_INCLUDED
42#error This header is supposed to be used only in the client
46 "VERIFY_CA",
"VERIFY_IDENTITY",
NullS};
77 "WARNING: no verification of server certificate will be done. "
78 "Use --ssl-mode=VERIFY_CA or VERIFY_IDENTITY.\n");
98 char buff[4096], *bufptr = &buff[0];
102 fprintf(stderr,
"Error: Can't open the ssl session data file.\n");
105 long file_length =
sizeof(buff) - 1;
106 if (0 == fseek(fi, 0, SEEK_END)) {
107 file_length = ftell(fi);
109 file_length = std::min(file_length, 65536L);
111 file_length =
sizeof(buff) - 1;
112 fseek(fi, 0, SEEK_SET);
114 if (file_length > (
long)(
sizeof(buff) - 1)) {
115 bufptr = (
char *)
malloc(file_length + 1);
117 bufptr[file_length] = 0;
120 file_length =
sizeof(buff) - 1;
123 read = fread(bufptr, 1, file_length, fi);
125 fprintf(stderr,
"Error: Can't read the ssl session data file.\n");
127 if (bufptr != &buff[0])
free(bufptr);
130 assert(
read <= (
size_t)file_length);
136 if (bufptr != &buff[0])
free(bufptr);
147 "--ssl-session-data specified but the session was not reused.");
153#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
#define NullS
Definition of the null string (a null pointer of type char *), used in some of our string handling co...
Definition: m_string.h:52
static MYSQL mysql
Definition: mysql.cc:153
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:9058
@ 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:3614
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:3410
int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg)
Definition: client.cc:8436
@ SSL_MODE_PREFERRED
Definition: mysql.h:272
@ SSL_MODE_VERIFY_CA
Definition: mysql.h:274
@ SSL_FIPS_MODE_OFF
Definition: mysql.h:279
const std::string FILE("FILE")
static char * opt_ssl_session_data
Definition: sslopt-vars.h:66
static int set_client_ssl_options(MYSQL *mysql)
Definition: sslopt-vars.h:69
static bool opt_ssl_session_data_continue_on_failed_reuse
Definition: sslopt-vars.h:67
static char * opt_ssl_cipher
Definition: sslopt-vars.h:58
const char * ssl_mode_names_lib[]
Definition: sslopt-vars.h:45
static char * opt_ssl_ca
Definition: sslopt-vars.h:55
static char * opt_tls_version
Definition: sslopt-vars.h:63
const char * SSL_SET_OPTIONS_ERROR
Definition: sslopt-vars.h:155
static char * opt_ssl_capath
Definition: sslopt-vars.h:56
static char * opt_ssl_crlpath
Definition: sslopt-vars.h:62
TYPELIB ssl_fips_mode_typelib
Definition: sslopt-vars.h:51
static char * opt_tls_ciphersuites
Definition: sslopt-vars.h:59
const char * ssl_fips_mode_names_lib[]
Definition: sslopt-vars.h:50
static ulong opt_ssl_fips_mode
Definition: sslopt-vars.h:64
static uint opt_ssl_mode
Definition: sslopt-vars.h:54
static bool ssl_mode_set_explicitly
Definition: sslopt-vars.h:65
static char * opt_ssl_cert
Definition: sslopt-vars.h:57
TYPELIB ssl_mode_typelib
Definition: sslopt-vars.h:47
static char * opt_ssl_crl
Definition: sslopt-vars.h:61
static char * opt_ssl_key
Definition: sslopt-vars.h:60
static bool ssl_client_check_post_connect_ssl_setup(MYSQL *mysql, std::function< void(const char *)> report_error)
Definition: sslopt-vars.h:142
unsigned int uint
Definition: uca-dump.cc:29
#define array_elements(A)
Definition: validate_password_imp.cc:45