Bug #69977 Master_SSL_Crl* values not shown in slave status
Submitted: 9 Aug 2013 22:48 Modified: 25 Feb 2014 5:32
Reporter: Elena Stepanova Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.6.13 OS:Any
Assigned to: CPU Architecture:Any

[9 Aug 2013 22:48] Elena Stepanova
Description:
On a slave built with OpenSSL and started with SSL support, CHANGE MASTER TO MASTER_SSL_CRL* does not seem to cause any changes to Master_SSL_Crl* values displayed in SHOW SLAVE STATUS -- they remain empty.

Output from the test case:

CHANGE MASTER TO MASTER_SSL_CRLPATH='/data/repo/bzr/mysql-5.6/mysql-test/std_data/crldir', MASTER_SSL_CRL='/data/repo/bzr/mysql-5.6/mysql-test/std_data/crl-client-revoked.crl';
include/start_slave.inc
SHOW SLAVE STATUS;
Slave_IO_State	Waiting for master to send event
Master_Host	127.0.0.1
Master_User	root
Master_Port	13000
Connect_Retry	1
Master_Log_File	master-bin.000001
Read_Master_Log_Pos	120
Relay_Log_File	slave-relay-bin.000002
Relay_Log_Pos	284
Relay_Master_Log_File	master-bin.000001
Slave_IO_Running	Yes
Slave_SQL_Running	Yes
Replicate_Do_DB	
Replicate_Ignore_DB	
Replicate_Do_Table	
Replicate_Ignore_Table	
Replicate_Wild_Do_Table	
Replicate_Wild_Ignore_Table	
Last_Errno	0
Last_Error	
Skip_Counter	0
Exec_Master_Log_Pos	120
Relay_Log_Space	457
Until_Condition	None
Until_Log_File	
Until_Log_Pos	0
Master_SSL_Allowed	No
Master_SSL_CA_File	
Master_SSL_CA_Path	
Master_SSL_Cert	
Master_SSL_Cipher	
Master_SSL_Key	
Seconds_Behind_Master	0
Master_SSL_Verify_Server_Cert	No
Last_IO_Errno	0
Last_IO_Error	
Last_SQL_Errno	0
Last_SQL_Error	
Replicate_Ignore_Server_Ids	
Master_Server_Id	1
Master_UUID	194360ea-0145-11e3-8b24-080027918a97
Master_Info_File	/data/repo/bzr/mysql-5.6/mysql-test/var/mysqld.2/data/master.info
SQL_Delay	0
SQL_Remaining_Delay	NULL
Slave_SQL_Running_State	Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count	10
Master_Bind	
Last_IO_Error_Timestamp	
Last_SQL_Error_Timestamp	
Master_SSL_Crl	
Master_SSL_Crlpath	
Retrieved_Gtid_Set	
Executed_Gtid_Set	
Auto_Position	0
# Check SSL support
SHOW VARIABLES LIKE '%ssl%';
Variable_name	Value
have_openssl	YES
have_ssl	YES
ssl_ca	/data/repo/bzr/mysql-5.6/mysql-test/std_data/crl-ca-cert.pem
ssl_capath	
ssl_cert	/data/repo/bzr/mysql-5.6/mysql-test/std_data/crl-server-cert.pem
ssl_cipher	
ssl_crl	/data/repo/bzr/mysql-5.6/mysql-test/std_data/crl-client-revoked.crl
ssl_crlpath	/data/repo/bzr/mysql-5.6/mysql-test/std_data/crldir
ssl_key	/data/repo/bzr/mysql-5.6/mysql-test/std_data/crl-server-key.pem
include/rpl_end.inc

Maybe I am doing something wrong, but I haven't found any MTR tests for CHANGE MASTER TO MASTER_SSL_CRL* to use them as an example. 

How to repeat:
# t1.test

--source include/master-slave.inc

--connection slave
--source include/stop_slave.inc

eval CHANGE MASTER TO MASTER_SSL_CRLPATH='$MYSQL_TEST_DIR/std_data/crldir', MASTER_SSL_CRL='$MYSQL_TEST_DIR/std_data/crl-client-revoked.crl';
--source include/start_slave.inc

query_vertical SHOW SLAVE STATUS;

--echo # Check SSL support
SHOW VARIABLES LIKE '%ssl%';

--connection master
--source include/rpl_end.inc

# End of t1.test

# t1-slave.opt

--ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem
--ssl-key=$MYSQL_TEST_DIR/std_data/crl-server-key.pem
--ssl-cert=$MYSQL_TEST_DIR/std_data/crl-server-cert.pem
--ssl-crl=$MYSQL_TEST_DIR/std_data/crl-client-revoked.crl
--ssl-crlpath=$MYSQL_TEST_DIR/std_data/crldir

# End of t1-slave.opt
[26 Aug 2013 17:14] MySQL Verification Team
Hello Elena,

Thank you for the bug report and test case.
Verified as described.

Thanks,
Umesh
[26 Aug 2013 17:18] MySQL Verification Team
Noticed that Master_SSL_Crl* values displayed in SHOW SLAVE STATUS are remain empty, but ended up seeing some values after making some changes to the test case:

eval change master to master_ssl=1 , master_ssl_ca ='$MYSQL_TEST_DIR/std_data/cacert.pem', master_ssl_cert='$MYSQL_TEST_DIR/std_data/client-cert.pem', master_ssl_key='$MYSQL_TES
T_DIR/std_data/client-key.pem';

// 

change master to master_ssl=1 , master_ssl_ca ='/home/ushastry/mybuilds/mysql-5.6.13/mysql5613/mysql-test/std_data/cacert.pem', master_ssl_cert='/home/ushastry/mybuilds/mysql-5.6.13/mysql5613/mysql-test/std_data/client-cert.pem', master_ssl_key='/home/ushastry/mybuilds/mysql-5.6.13/mysql5613/mysql-test/std_data/client-key.pem';
include/start_slave.inc
SHOW SLAVE STATUS;
Slave_IO_State	Waiting for master to send event
Master_Host	127.0.0.1
Master_User	root
Master_Port	13000
Connect_Retry	1
Master_Log_File	master-bin.000001
Read_Master_Log_Pos	120
Relay_Log_File	slave-relay-bin.000002
Relay_Log_Pos	284
Relay_Master_Log_File	master-bin.000001
Slave_IO_Running	Yes
Slave_SQL_Running	Yes
Replicate_Do_DB	
Replicate_Ignore_DB	
Replicate_Do_Table	
Replicate_Ignore_Table	
Replicate_Wild_Do_Table	
Replicate_Wild_Ignore_Table	
Last_Errno	0
Last_Error	
Skip_Counter	0
Exec_Master_Log_Pos	120
Relay_Log_Space	457
Until_Condition	None
Until_Log_File	
Until_Log_Pos	0
Master_SSL_Allowed	Yes
Master_SSL_CA_File	/home/ushastry/mybuilds/mysql-5.6.13/mysql5613/mysql-test/std_data/cacert.pem
Master_SSL_CA_Path	
Master_SSL_Cert	/home/ushastry/mybuilds/mysql-5.6.13/mysql5613/mysql-test/std_data/client-cert.pem
Master_SSL_Cipher	
Master_SSL_Key	/home/ushastry/mybuilds/mysql-5.6.13/mysql5613/mysql-test/std_data/client-key.pem
Seconds_Behind_Master	0
Master_SSL_Verify_Server_Cert	No
Last_IO_Errno	0
Last_IO_Error	
Last_SQL_Errno	0
Last_SQL_Error	
Replicate_Ignore_Server_Ids	
Master_Server_Id	1
Master_UUID	49232051-0e71-11e3-a109-0800272e2cce
Master_Info_File	/home/ushastry/mybuilds/mysql-5.6.13/mysql5613/mysql-test/var/mysqld.2/data/master.info
SQL_Delay	0
SQL_Remaining_Delay	NULL
Slave_SQL_Running_State	Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count	10
Master_Bind	
Last_IO_Error_Timestamp	
Last_SQL_Error_Timestamp	
Master_SSL_Crl	/home/ushastry/mybuilds/mysql-5.6.13/mysql5613/mysql-test/std_data/cacert.pem
Master_SSL_Crlpath	
Retrieved_Gtid_Set	
Executed_Gtid_Set	
Auto_Position	0
# Check SSL support
SHOW VARIABLES LIKE '%ssl%';
Variable_name	Value
have_openssl	YES
have_ssl	YES
ssl_ca	/home/ushastry/mybuilds/mysql-5.6.13/mysql5613/mysql-test/std_data/cacert.pem
ssl_capath	
ssl_cert	/home/ushastry/mybuilds/mysql-5.6.13/mysql5613/mysql-test/std_data/server-cert.pem
ssl_cipher	
ssl_crl	
ssl_crlpath	
ssl_key	/home/ushastry/mybuilds/mysql-5.6.13/mysql5613/mysql-test/std_data/server-key.pem
[25 Feb 2014 5:42] Neeraj Bisht
This is duplicate of bug#70866