Backport fix for mysql client not using SSl library directly

 - Add function mysql_get_ssl_cipher
 - Use function mysql_get_ssl_cipher from mysql
parent 26be6aba
...@@ -3235,10 +3235,9 @@ com_status(String *buffer __attribute__((unused)), ...@@ -3235,10 +3235,9 @@ com_status(String *buffer __attribute__((unused)),
mysql_free_result(result); mysql_free_result(result);
} }
#ifdef HAVE_OPENSSL #ifdef HAVE_OPENSSL
if (mysql.net.vio && mysql.net.vio->ssl_arg && if ((status= mysql_get_ssl_cipher(&mysql)))
SSL_get_cipher((SSL*) mysql.net.vio->ssl_arg))
tee_fprintf(stdout, "SSL:\t\t\tCipher in use is %s\n", tee_fprintf(stdout, "SSL:\t\t\tCipher in use is %s\n",
SSL_get_cipher((SSL*) mysql.net.vio->ssl_arg)); status);
else else
#endif /* HAVE_OPENSSL */ #endif /* HAVE_OPENSSL */
tee_puts("SSL:\t\t\tNot in use", stdout); tee_puts("SSL:\t\t\tNot in use", stdout);
......
...@@ -409,6 +409,7 @@ MYSQL * STDCALL mysql_init(MYSQL *mysql); ...@@ -409,6 +409,7 @@ MYSQL * STDCALL mysql_init(MYSQL *mysql);
my_bool STDCALL mysql_ssl_set(MYSQL *mysql, const char *key, my_bool STDCALL mysql_ssl_set(MYSQL *mysql, const char *key,
const char *cert, const char *ca, const char *cert, const char *ca,
const char *capath, const char *cipher); const char *capath, const char *cipher);
const char * STDCALL mysql_get_ssl_cipher(MYSQL *mysql);
my_bool STDCALL mysql_change_user(MYSQL *mysql, const char *user, my_bool STDCALL mysql_change_user(MYSQL *mysql, const char *user,
const char *passwd, const char *db); const char *passwd, const char *db);
MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host, MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,
......
...@@ -65,6 +65,7 @@ EXPORTS ...@@ -65,6 +65,7 @@ EXPORTS
mysql_get_proto_info mysql_get_proto_info
mysql_get_server_info mysql_get_server_info
mysql_get_client_version mysql_get_client_version
mysql_get_ssl_cipher
mysql_info mysql_info
mysql_init mysql_init
mysql_insert_id mysql_insert_id
......
...@@ -58,6 +58,7 @@ EXPORTS ...@@ -58,6 +58,7 @@ EXPORTS
mysql_get_host_info mysql_get_host_info
mysql_get_proto_info mysql_get_proto_info
mysql_get_server_info mysql_get_server_info
mysql_get_ssl_cipher
mysql_info mysql_info
mysql_init mysql_init
mysql_insert_id mysql_insert_id
......
...@@ -1535,6 +1535,27 @@ mysql_ssl_free(MYSQL *mysql __attribute__((unused))) ...@@ -1535,6 +1535,27 @@ mysql_ssl_free(MYSQL *mysql __attribute__((unused)))
mysql->connector_fd = 0; mysql->connector_fd = 0;
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
/*
Return the SSL cipher (if any) used for current
connection to the server.
SYNOPSYS
mysql_get_ssl_cipher()
mysql pointer to the mysql connection
*/
const char * STDCALL
mysql_get_ssl_cipher(MYSQL *mysql)
{
DBUG_ENTER("mysql_get_ssl_cipher");
if (mysql->net.vio && mysql->net.vio->ssl_arg)
DBUG_RETURN(SSL_get_cipher_name((SSL*)mysql->net.vio->ssl_arg));
DBUG_RETURN(NULL);
}
#endif /* HAVE_OPENSSL */ #endif /* HAVE_OPENSSL */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment