24#ifndef SSLOPT_VARS_INCLUDED
25#define SSLOPT_VARS_INCLUDED
43#error This header is supposed to be used only in the client
47 "VERIFY_CA",
"VERIFY_IDENTITY",
NullS};
78 "WARNING: no verification of server certificate will be done. "
79 "Use --ssl-mode=VERIFY_CA or VERIFY_IDENTITY.\n");
104 char buff[4096], *bufptr = &buff[0];
108 fprintf(stderr,
"Error: Can't open the ssl session data file.\n");
111 long file_length =
sizeof(buff) - 1;
112 if (0 == fseek(fi, 0, SEEK_END)) {
113 file_length = ftell(fi);
115 file_length = std::min(file_length, 65536L);
117 file_length =
sizeof(buff) - 1;
118 fseek(fi, 0, SEEK_SET);
120 if (file_length > (
long)(
sizeof(buff) - 1)) {
121 bufptr = (
char *)
malloc(file_length + 1);
123 bufptr[file_length] = 0;
126 file_length =
sizeof(buff) - 1;
129 read = fread(bufptr, 1, file_length, fi);
131 fprintf(stderr,
"Error: Can't read the ssl session data file.\n");
133 if (bufptr != &buff[0])
free(bufptr);
136 assert(
read <= (
size_t)file_length);
142 if (bufptr != &buff[0])
free(bufptr);
153 "--ssl-session-data specified but the session was not reused.");
159#define SSL_SET_OPTIONS(mysql) set_client_ssl_options(mysql)
#define CR_SSL_FIPS_MODE_ERR
Definition: errmsg.h:126
static bool report_error(THD *thd, int error_code, Sql_condition::enum_severity_level level, Args... args)
Definition: error_handler.cc:291
bool read(T *ap, const GV &gv, const char *key)
Definition: sdi_impl.h:341
#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:53
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:9088
@ MYSQL_OPT_SSL_CIPHER
Definition: mysql.h:194
@ MYSQL_OPT_SSL_CA
Definition: mysql.h:192
@ MYSQL_OPT_TLS_VERSION
Definition: mysql.h:205
@ MYSQL_OPT_SSL_KEY
Definition: mysql.h:190
@ MYSQL_OPT_SSL_FIPS_MODE
Definition: mysql.h:210
@ MYSQL_OPT_SSL_CRLPATH
Definition: mysql.h:196
@ MYSQL_OPT_SSL_CERT
Definition: mysql.h:191
@ MYSQL_OPT_SSL_SESSION_DATA
Definition: mysql.h:216
@ MYSQL_OPT_SSL_MODE
Definition: mysql.h:206
@ MYSQL_OPT_SSL_CAPATH
Definition: mysql.h:193
@ MYSQL_OPT_SSL_CRL
Definition: mysql.h:195
@ MYSQL_OPT_TLS_CIPHERSUITES
Definition: mysql.h:211
bool STDCALL mysql_get_ssl_session_reused(MYSQL *mysql)
Check if the current ssl session is reused.
Definition: client.cc:3618
int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg)
Definition: client.cc:8457
@ 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:32
static char * opt_ssl_session_data
Definition: sslopt-vars.h:67
static int set_client_ssl_options(MYSQL *mysql)
Definition: sslopt-vars.h:70
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:161
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 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:148
unsigned int uint
Definition: uca9-dump.cc:75
#define array_elements(A)
Definition: validate_password_imp.cc:48