mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge pilot.blaudden:/home/msvensson/mysql/bug21781/my50-bug21781
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
This commit is contained in:
@ -1,4 +0,0 @@
|
|||||||
-- require r/have_openssl.require
|
|
||||||
disable_query_log;
|
|
||||||
show variables like "have_openssl";
|
|
||||||
enable_query_log;
|
|
4
mysql-test/include/have_ssl.inc
Normal file
4
mysql-test/include/have_ssl.inc
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
-- require r/have_ssl.require
|
||||||
|
disable_query_log;
|
||||||
|
show variables like "have_ssl";
|
||||||
|
enable_query_log;
|
@ -1,2 +1,2 @@
|
|||||||
Variable_name Value
|
Variable_name Value
|
||||||
have_openssl YES
|
have_ssl YES
|
93
mysql-test/r/rpl_ssl.result
Normal file
93
mysql-test/r/rpl_ssl.result
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
stop slave;
|
||||||
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
|
reset master;
|
||||||
|
reset slave;
|
||||||
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
|
start slave;
|
||||||
|
grant replication slave on *.* to replssl@localhost require ssl;
|
||||||
|
create table t1 (t int auto_increment, KEY(t));
|
||||||
|
stop slave;
|
||||||
|
change master to
|
||||||
|
master_user='replssl',
|
||||||
|
master_password='',
|
||||||
|
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_TEST_DIR/std_data/client-key.pem';
|
||||||
|
start slave;
|
||||||
|
insert into t1 values(1);
|
||||||
|
select * from t1;
|
||||||
|
t
|
||||||
|
1
|
||||||
|
show slave status;
|
||||||
|
Slave_IO_State #
|
||||||
|
Master_Host 127.0.0.1
|
||||||
|
Master_User replssl
|
||||||
|
Master_Port MASTER_MYPORT
|
||||||
|
Connect_Retry 1
|
||||||
|
Master_Log_File master-bin.000001
|
||||||
|
Read_Master_Log_Pos 420
|
||||||
|
Relay_Log_File #
|
||||||
|
Relay_Log_Pos #
|
||||||
|
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 420
|
||||||
|
Relay_Log_Space #
|
||||||
|
Until_Condition None
|
||||||
|
Until_Log_File
|
||||||
|
Until_Log_Pos 0
|
||||||
|
Master_SSL_Allowed Yes
|
||||||
|
Master_SSL_CA_File MYSQL_TEST_DIR/std_data/cacert.pem
|
||||||
|
Master_SSL_CA_Path
|
||||||
|
Master_SSL_Cert MYSQL_TEST_DIR/std_data/client-cert.pem
|
||||||
|
Master_SSL_Cipher
|
||||||
|
Master_SSL_Key MYSQL_TEST_DIR/std_data/client-key.pem
|
||||||
|
Seconds_Behind_Master #
|
||||||
|
STOP SLAVE;
|
||||||
|
select * from t1;
|
||||||
|
t
|
||||||
|
1
|
||||||
|
show slave status;
|
||||||
|
Slave_IO_State #
|
||||||
|
Master_Host 127.0.0.1
|
||||||
|
Master_User replssl
|
||||||
|
Master_Port MASTER_MYPORT
|
||||||
|
Connect_Retry 1
|
||||||
|
Master_Log_File master-bin.000001
|
||||||
|
Read_Master_Log_Pos 12320
|
||||||
|
Relay_Log_File #
|
||||||
|
Relay_Log_Pos #
|
||||||
|
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 12320
|
||||||
|
Relay_Log_Space #
|
||||||
|
Until_Condition None
|
||||||
|
Until_Log_File
|
||||||
|
Until_Log_Pos 0
|
||||||
|
Master_SSL_Allowed Yes
|
||||||
|
Master_SSL_CA_File MYSQL_TEST_DIR/std_data/cacert.pem
|
||||||
|
Master_SSL_CA_Path
|
||||||
|
Master_SSL_Cert MYSQL_TEST_DIR/std_data/client-cert.pem
|
||||||
|
Master_SSL_Cipher
|
||||||
|
Master_SSL_Key MYSQL_TEST_DIR/std_data/client-key.pem
|
||||||
|
Seconds_Behind_Master #
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
|||||||
-- source include/have_openssl.inc
|
-- source include/have_ssl.inc
|
||||||
|
|
||||||
# This test can't be in func_encrypt.test, because it requires
|
# This test can't be in func_encrypt.test, because it requires
|
||||||
# --des-key-file to not be set.
|
# --des-key-file to not be set.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
-- source include/have_openssl.inc
|
-- source include/have_ssl.inc
|
||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# We test openssl. Result set is optimized to be compiled with --with-openssl.
|
# Tests for SSL connections, only run if mysqld is compiled
|
||||||
# Use mysql-test-run with --with-openssl option.
|
# with support for SSL.
|
||||||
-- source include/have_openssl.inc
|
|
||||||
|
-- source include/have_ssl.inc
|
||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
source include/have_openssl.inc;
|
source include/have_ssl.inc;
|
||||||
source include/master-slave.inc;
|
source include/master-slave.inc;
|
||||||
|
|
||||||
# We don't test all types of ssl auth params here since it's a bit hard
|
# We don't test all types of ssl auth params here since it's a bit hard
|
||||||
|
60
mysql-test/t/rpl_ssl.test
Normal file
60
mysql-test/t/rpl_ssl.test
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
source include/have_ssl.inc;
|
||||||
|
source include/master-slave.inc;
|
||||||
|
|
||||||
|
# create a user for replication that requires ssl encryption
|
||||||
|
connection master;
|
||||||
|
grant replication slave on *.* to replssl@localhost require ssl;
|
||||||
|
create table t1 (t int auto_increment, KEY(t));
|
||||||
|
|
||||||
|
sync_slave_with_master;
|
||||||
|
|
||||||
|
# Set slave to use SSL for connection to master
|
||||||
|
stop slave;
|
||||||
|
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||||
|
eval change master to
|
||||||
|
master_user='replssl',
|
||||||
|
master_password='',
|
||||||
|
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_TEST_DIR/std_data/client-key.pem';
|
||||||
|
start slave;
|
||||||
|
|
||||||
|
# Switch to master and insert one record, then sync it to slave
|
||||||
|
connection master;
|
||||||
|
insert into t1 values(1);
|
||||||
|
sync_slave_with_master;
|
||||||
|
|
||||||
|
# The record should now be on slave
|
||||||
|
select * from t1;
|
||||||
|
|
||||||
|
# The slave is synced and waiting/reading from master
|
||||||
|
# SHOW SLAVE STATUS will show "Waiting for master to send event"
|
||||||
|
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MASTER_MYPORT MASTER_MYPORT
|
||||||
|
--replace_column 1 # 8 # 9 # 23 # 33 #
|
||||||
|
query_vertical show slave status;
|
||||||
|
|
||||||
|
# Stop the slave, as reported in bug#21871 it would hang
|
||||||
|
STOP SLAVE;
|
||||||
|
|
||||||
|
select * from t1;
|
||||||
|
|
||||||
|
# Do the same thing a number of times
|
||||||
|
disable_query_log;
|
||||||
|
let $i= 100;
|
||||||
|
while ($i)
|
||||||
|
{
|
||||||
|
start slave;
|
||||||
|
connection master;
|
||||||
|
insert into t1 values (NULL);
|
||||||
|
connection slave;
|
||||||
|
stop slave;
|
||||||
|
dec $i;
|
||||||
|
}
|
||||||
|
start slave;
|
||||||
|
enable_query_log;
|
||||||
|
connection master;
|
||||||
|
sync_slave_with_master;
|
||||||
|
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MASTER_MYPORT MASTER_MYPORT
|
||||||
|
--replace_column 1 # 8 # 9 # 23 # 33 #
|
||||||
|
query_vertical show slave status;
|
@ -1,7 +1,7 @@
|
|||||||
# Turn on ssl between the client and server
|
# Turn on ssl between the client and server
|
||||||
# and run a number of tests
|
# and run a number of tests
|
||||||
|
|
||||||
-- source include/have_openssl.inc
|
-- source include/have_ssl.inc
|
||||||
|
|
||||||
connect (ssl_con,localhost,root,,,,,SSL);
|
connect (ssl_con,localhost,root,,,,,SSL);
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Turn on compression between the client and server
|
# Turn on compression between the client and server
|
||||||
# and run a number of tests
|
# and run a number of tests
|
||||||
|
|
||||||
-- source include/have_openssl.inc
|
-- source include/have_ssl.inc
|
||||||
-- source include/have_compress.inc
|
-- source include/have_compress.inc
|
||||||
|
|
||||||
connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS);
|
connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
-- source include/have_openssl.inc
|
-- source include/have_ssl.inc
|
||||||
|
|
||||||
# Repeat connect/disconnect
|
# Repeat connect/disconnect
|
||||||
|
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
# Tell the server to use a DES-encrypted cert
|
|
||||||
# then turn on ssl between the client and server
|
|
||||||
# and run a number of standard tests
|
|
||||||
|
|
||||||
-- source include/have_openssl.inc
|
|
||||||
|
|
||||||
# Connect by ip to avoid turning on "ssl-verify-server-cert"
|
|
||||||
connect (ssl_con,127.0.0.1,root,,,,$MASTER_MYPORT,SSL);
|
|
||||||
|
|
||||||
# Check ssl turned on
|
|
||||||
SHOW STATUS LIKE 'Ssl_cipher';
|
|
||||||
|
|
||||||
# Source select test case
|
|
||||||
-- source include/common-tests.inc
|
|
||||||
|
|
||||||
# Check ssl turned on
|
|
||||||
SHOW STATUS LIKE 'Ssl_cipher';
|
|
||||||
|
|
||||||
|
|
@ -1397,7 +1397,7 @@ extern handlerton myisammrg_hton;
|
|||||||
#define have_merge_db myisammrg_hton.state
|
#define have_merge_db myisammrg_hton.state
|
||||||
|
|
||||||
extern SHOW_COMP_OPTION have_isam;
|
extern SHOW_COMP_OPTION have_isam;
|
||||||
extern SHOW_COMP_OPTION have_raid, have_openssl, have_symlink, have_dlopen;
|
extern SHOW_COMP_OPTION have_raid, have_ssl, have_symlink, have_dlopen;
|
||||||
extern SHOW_COMP_OPTION have_query_cache;
|
extern SHOW_COMP_OPTION have_query_cache;
|
||||||
extern SHOW_COMP_OPTION have_geometry, have_rtree_keys;
|
extern SHOW_COMP_OPTION have_geometry, have_rtree_keys;
|
||||||
extern SHOW_COMP_OPTION have_crypt;
|
extern SHOW_COMP_OPTION have_crypt;
|
||||||
|
@ -496,7 +496,7 @@ CHARSET_INFO *national_charset_info, *table_alias_charset;
|
|||||||
CHARSET_INFO *character_set_filesystem;
|
CHARSET_INFO *character_set_filesystem;
|
||||||
|
|
||||||
SHOW_COMP_OPTION have_isam;
|
SHOW_COMP_OPTION have_isam;
|
||||||
SHOW_COMP_OPTION have_raid, have_openssl, have_symlink, have_query_cache;
|
SHOW_COMP_OPTION have_raid, have_ssl, have_symlink, have_query_cache;
|
||||||
SHOW_COMP_OPTION have_geometry, have_rtree_keys, have_dlopen;
|
SHOW_COMP_OPTION have_geometry, have_rtree_keys, have_dlopen;
|
||||||
SHOW_COMP_OPTION have_crypt, have_compress;
|
SHOW_COMP_OPTION have_crypt, have_compress;
|
||||||
|
|
||||||
@ -3046,12 +3046,12 @@ static void init_ssl()
|
|||||||
if (!ssl_acceptor_fd)
|
if (!ssl_acceptor_fd)
|
||||||
{
|
{
|
||||||
opt_use_ssl = 0;
|
opt_use_ssl = 0;
|
||||||
have_openssl= SHOW_OPTION_DISABLED;
|
have_ssl= SHOW_OPTION_DISABLED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
have_openssl= SHOW_OPTION_DISABLED;
|
have_ssl= SHOW_OPTION_DISABLED;
|
||||||
}
|
}
|
||||||
if (des_key_file)
|
if (des_key_file)
|
||||||
load_des_key_file(des_key_file);
|
load_des_key_file(des_key_file);
|
||||||
@ -6621,9 +6621,9 @@ static void mysql_init_variables(void)
|
|||||||
have_raid=SHOW_OPTION_NO;
|
have_raid=SHOW_OPTION_NO;
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_OPENSSL
|
#ifdef HAVE_OPENSSL
|
||||||
have_openssl=SHOW_OPTION_YES;
|
have_ssl=SHOW_OPTION_YES;
|
||||||
#else
|
#else
|
||||||
have_openssl=SHOW_OPTION_NO;
|
have_ssl=SHOW_OPTION_NO;
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_BROKEN_REALPATH
|
#ifdef HAVE_BROKEN_REALPATH
|
||||||
have_symlink=SHOW_OPTION_NO;
|
have_symlink=SHOW_OPTION_NO;
|
||||||
|
@ -871,7 +871,9 @@ struct show_var_st init_vars[]= {
|
|||||||
{"have_isam", (char*) &have_isam, SHOW_HAVE},
|
{"have_isam", (char*) &have_isam, SHOW_HAVE},
|
||||||
{"have_merge_engine", (char*) &have_merge_db, SHOW_HAVE},
|
{"have_merge_engine", (char*) &have_merge_db, SHOW_HAVE},
|
||||||
{"have_ndbcluster", (char*) &have_ndbcluster, SHOW_HAVE},
|
{"have_ndbcluster", (char*) &have_ndbcluster, SHOW_HAVE},
|
||||||
{"have_openssl", (char*) &have_openssl, SHOW_HAVE},
|
/* have_openssl is just and alias for have_ssl */
|
||||||
|
{"have_openssl", (char*) &have_ssl, SHOW_HAVE},
|
||||||
|
{"have_ssl", (char*) &have_ssl, SHOW_HAVE},
|
||||||
{"have_query_cache", (char*) &have_query_cache, SHOW_HAVE},
|
{"have_query_cache", (char*) &have_query_cache, SHOW_HAVE},
|
||||||
{"have_raid", (char*) &have_raid, SHOW_HAVE},
|
{"have_raid", (char*) &have_raid, SHOW_HAVE},
|
||||||
{"have_rtree_keys", (char*) &have_rtree_keys, SHOW_HAVE},
|
{"have_rtree_keys", (char*) &have_rtree_keys, SHOW_HAVE},
|
||||||
|
Reference in New Issue
Block a user