Skip to content

Commit

Permalink
Added tests for MDEV-7937
Browse files Browse the repository at this point in the history
  • Loading branch information
cvicentiu committed Jun 9, 2015
1 parent 4ef7497 commit be5035b
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 0 deletions.
4 changes: 4 additions & 0 deletions mysql-test/include/have_ssl_disabled.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
-- require r/have_ssl_disabled.require
disable_query_log;
show variables like 'have_ssl';
enable_query_log;
2 changes: 2 additions & 0 deletions mysql-test/r/have_ssl_disabled.require
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Variable_name Value
have_ssl DISABLED
13 changes: 13 additions & 0 deletions mysql-test/r/ssl_7937.result
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/home/vicentiu/Workspace/MariaDB/server/client/mysql --defaults-file=/home/vicentiu/Workspace/MariaDB/server/mysql-test/var/my.cnf --ssl-key=/home/vicentiu/Workspace/MariaDB/server/mysql-test/std_data/client-key.pem --ssl-cert=/home/vicentiu/Workspace/MariaDB/server/mysql-test/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
Variable_name Value
Ssl_cipher DHE-RSA-AES256-GCM-SHA384
#
/home/vicentiu/Workspace/MariaDB/server/client/mysql --defaults-file=/home/vicentiu/Workspace/MariaDB/server/mysql-test/var/my.cnf --ssl -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
Variable_name Value
Ssl_cipher DHE-RSA-AES256-GCM-SHA384
#
/home/vicentiu/Workspace/MariaDB/server/client/mysql --defaults-file=/home/vicentiu/Workspace/MariaDB/server/mysql-test/var/my.cnf --ssl --ssl-verify-server-cert -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
ERROR 2026 (HY000): SSL connection error: Failed to verify the server certificate
#
/home/vicentiu/Workspace/MariaDB/server/client/mysql --defaults-file=/home/vicentiu/Workspace/MariaDB/server/mysql-test/var/my.cnf --ssl-key=/home/vicentiu/Workspace/MariaDB/server/mysql-test/std_data/client-key.pem --ssl-cert=/home/vicentiu/Workspace/MariaDB/server/mysql-test/std_data/client-cert.pem --ssl-verify-server-cert -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
ERROR 2026 (HY000): SSL connection error: Failed to verify the server certificate
10 changes: 10 additions & 0 deletions mysql-test/r/ssl_without_7937.result
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/home/vicentiu/Workspace/MariaDB/server/client/mysql --defaults-file=/home/vicentiu/Workspace/MariaDB/server/mysql-test/var/my.cnf --ssl-key=/home/vicentiu/Workspace/MariaDB/server/mysql-test/std_data/client-key.pem --ssl-cert=/home/vicentiu/Workspace/MariaDB/server/mysql-test/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
Variable_name Value
Ssl_cipher
/home/vicentiu/Workspace/MariaDB/server/client/mysql --defaults-file=/home/vicentiu/Workspace/MariaDB/server/mysql-test/var/my.cnf --ssl-key=/home/vicentiu/Workspace/MariaDB/server/mysql-test/std_data/client-key.pem --ssl-cert=/home/vicentiu/Workspace/MariaDB/server/mysql-test/std_data/client-cert.pem --ssl_verify_server_cert -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
ERROR 2026 (HY000): SSL connection error: SSL is required, but the server does not support it
/home/vicentiu/Workspace/MariaDB/server/client/mysql --defaults-file=/home/vicentiu/Workspace/MariaDB/server/mysql-test/var/my.cnf --ssl_verify_server_cert -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
Variable_name Value
Ssl_cipher
/home/vicentiu/Workspace/MariaDB/server/client/mysql --defaults-file=/home/vicentiu/Workspace/MariaDB/server/mysql-test/var/my.cnf --ssl --ssl_verify_server_cert -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
ERROR 2026 (HY000): SSL connection error: SSL is required, but the server does not support it
21 changes: 21 additions & 0 deletions mysql-test/t/ssl_7937.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
source include/have_ssl_communication.inc;

let $mysql_ssl_cert=$MYSQL --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
let $mysql_ssl_no_cert=$MYSQL --ssl -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
let $mysql_ssl_no_cert_ver=$MYSQL --ssl --ssl-verify-server-cert -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
let $mysql_ssl_cert_ver=$MYSQL --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-verify-server-cert -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;

--echo $mysql_ssl_cert;
--exec $mysql_ssl_cert;
--echo #
--echo $mysql_ssl_no_cert;
--exec $mysql_ssl_no_cert;
--echo #
--echo $mysql_ssl_no_cert_ver;
--error 1
--exec $mysql_ssl_no_cert_ver;
--echo #
--echo $mysql_ssl_cert_ver;
--error 1
--exec $mysql_ssl_cert_ver;

22 changes: 22 additions & 0 deletions mysql-test/t/ssl_without_7937.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
source include/have_ssl_disabled.inc;

# SSL not mandatory here.
let $mysql_ssl_cert=$MYSQL --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
# SSL mandatory with verify server cert
let $mysql_ssl_cert_ver=$MYSQL --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl_verify_server_cert -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
--echo $mysql_ssl_cert;
--exec $mysql_ssl_cert;
--echo $mysql_ssl_cert_ver;
--error 1
--exec $mysql_ssl_cert_ver;

# SSL not mandatory again
let $mysql_no_ssl_but_ver=$MYSQL --ssl_verify_server_cert -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
--echo $mysql_no_ssl_but_ver;
--exec $mysql_no_ssl_but_ver;

# SSL mandatory but no specifications for ssl parameters
let $mysql_ssl_no_spec_ver=$MYSQL --ssl --ssl_verify_server_cert -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1;
--echo $mysql_ssl_no_spec_ver
--error 1
--exec $mysql_ssl_no_spec_ver

0 comments on commit be5035b

Please sign in to comment.