mirror of
https://github.com/MariaDB/server.git
synced 2026-04-22 08:15:31 +02:00
Merge branch '5.5' into 10.0
This commit is contained in:
commit
810cf362ea
165 changed files with 3364 additions and 1399 deletions
|
|
@ -1848,6 +1848,7 @@ mysql_ssl_set(MYSQL *mysql __attribute__((unused)) ,
|
|||
mysql_options(mysql, MYSQL_OPT_SSL_CAPATH, capath) |
|
||||
mysql_options(mysql, MYSQL_OPT_SSL_CIPHER, cipher) ?
|
||||
1 : 0);
|
||||
mysql->options.use_ssl= TRUE;
|
||||
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */
|
||||
DBUG_RETURN(result);
|
||||
}
|
||||
|
|
@ -2652,16 +2653,10 @@ static int send_client_reply_packet(MCPVIO_EXT *mpvio,
|
|||
mysql->client_flag|= CLIENT_MULTI_RESULTS;
|
||||
|
||||
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
|
||||
if (mysql->options.ssl_key || mysql->options.ssl_cert ||
|
||||
mysql->options.ssl_ca || mysql->options.ssl_capath ||
|
||||
mysql->options.ssl_cipher ||
|
||||
(mysql->options.extension &&
|
||||
(mysql->options.extension->ssl_crl ||
|
||||
mysql->options.extension->ssl_crlpath)))
|
||||
mysql->options.use_ssl= 1;
|
||||
if (mysql->options.use_ssl)
|
||||
mysql->client_flag|= CLIENT_SSL;
|
||||
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY*/
|
||||
|
||||
if (mpvio->db)
|
||||
mysql->client_flag|= CLIENT_CONNECT_WITH_DB;
|
||||
|
||||
|
|
@ -2690,6 +2685,23 @@ static int send_client_reply_packet(MCPVIO_EXT *mpvio,
|
|||
end= buff+5;
|
||||
}
|
||||
#ifdef HAVE_OPENSSL
|
||||
|
||||
/*
|
||||
If client uses ssl and client also has to verify the server
|
||||
certificate, a ssl connection is required.
|
||||
If the server does not support ssl, we abort the connection.
|
||||
*/
|
||||
if (mysql->options.use_ssl &&
|
||||
(mysql->client_flag & CLIENT_SSL_VERIFY_SERVER_CERT) &&
|
||||
!(mysql->server_capabilities & CLIENT_SSL))
|
||||
{
|
||||
set_mysql_extended_error(mysql, CR_SSL_CONNECTION_ERROR, unknown_sqlstate,
|
||||
ER(CR_SSL_CONNECTION_ERROR),
|
||||
"SSL is required, but the server does not "
|
||||
"support it");
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (mysql->client_flag & CLIENT_SSL)
|
||||
{
|
||||
/* Do the SSL layering. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue