diff options
-rw-r--r-- | mysql-test/suite.pm | 3 | ||||
-rw-r--r-- | mysql-test/suite/sys_vars/inc/sysvars_server.inc | 6 | ||||
-rw-r--r-- | mysql-test/suite/sys_vars/r/sysvars_server_embedded.result | 16 | ||||
-rw-r--r-- | mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result | 16 | ||||
-rw-r--r-- | mysql-test/suite/sys_vars/r/version_ssl_library_basic.result | 2 | ||||
-rw-r--r-- | mysql-test/suite/sys_vars/t/version_ssl_library_basic.test | 2 | ||||
-rw-r--r-- | sql/sys_vars.cc | 16 |
7 files changed, 51 insertions, 10 deletions
diff --git a/mysql-test/suite.pm b/mysql-test/suite.pm index ffb34f5a8cf..b063f32c506 100644 --- a/mysql-test/suite.pm +++ b/mysql-test/suite.pm @@ -63,7 +63,8 @@ sub skip_combinations { $skip{'include/check_ipv6.inc'} = 'No IPv6' unless ipv6_ok(); $skip{'t/openssl_6975.test'} = 'no or too old openssl' - unless ! IS_WINDOWS and ! system "openssl ciphers TLSv1.2 >/dev/null 2>&1"; + unless $::mysqld_variables{'version-ssl-library'} =~ /OpenSSL (\S+)/ + and $1 ge "1.0.1"; %skip; } diff --git a/mysql-test/suite/sys_vars/inc/sysvars_server.inc b/mysql-test/suite/sys_vars/inc/sysvars_server.inc index b7c1c996f0b..fb6121d7cc3 100644 --- a/mysql-test/suite/sys_vars/inc/sysvars_server.inc +++ b/mysql-test/suite/sys_vars/inc/sysvars_server.inc @@ -21,14 +21,14 @@ select * from information_schema.system_variables 'have_openssl', 'have_symlink', 'hostname', - 'large_files_support', + 'large_files_support', 'log_tc_size', 'lower_case_file_system', 'lower_case_table_names', 'open_files_limit', 'system_time_zone', 'version_comment', 'version_compile_machine', 'version_compile_os', - 'version_malloc_library', 'log_tc_size', 'version' + 'version_malloc_library', 'version_ssl_library', 'version' ) order by variable_name; @@ -49,7 +49,7 @@ select VARIABLE_NAME, VARIABLE_SCOPE, VARIABLE_TYPE, VARIABLE_COMMENT, 'system_time_zone', 'version_comment', 'version_compile_machine', 'version_compile_os', - 'version_malloc_library', 'version' + 'version_malloc_library', 'version_ssl_library', 'version' ) order by variable_name; diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result index c2312becbbd..2bf6814633f 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result +++ b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result @@ -11,14 +11,14 @@ variable_name not in ( 'have_openssl', 'have_symlink', 'hostname', -'large_files_support', +'large_files_support', 'log_tc_size', 'lower_case_file_system', 'lower_case_table_names', 'open_files_limit', 'system_time_zone', 'version_comment', 'version_compile_machine', 'version_compile_os', -'version_malloc_library', 'log_tc_size', 'version' +'version_malloc_library', 'version_ssl_library', 'version' ) order by variable_name; VARIABLE_NAME AUTOCOMMIT @@ -4026,7 +4026,7 @@ where variable_name in ( 'system_time_zone', 'version_comment', 'version_compile_machine', 'version_compile_os', -'version_malloc_library', 'version' +'version_malloc_library', 'version_ssl_library', 'version' ) order by variable_name; VARIABLE_NAME HAVE_OPENSSL @@ -4159,6 +4159,16 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT NULL +VARIABLE_NAME VERSION_SSL_LIBRARY +VARIABLE_SCOPE GLOBAL +VARIABLE_TYPE VARCHAR +VARIABLE_COMMENT Version of the used SSL library +NUMERIC_MIN_VALUE NULL +NUMERIC_MAX_VALUE NULL +NUMERIC_BLOCK_SIZE NULL +ENUM_VALUE_LIST NULL +READ_ONLY YES +COMMAND_LINE_ARGUMENT NULL select VARIABLE_NAME, GLOBAL_VALUE_ORIGIN, VARIABLE_SCOPE, VARIABLE_TYPE, VARIABLE_COMMENT, ENUM_VALUE_LIST, READ_ONLY, COMMAND_LINE_ARGUMENT from information_schema.system_variables diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result index 8a793eaeec9..0f3b71b1421 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result +++ b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result @@ -11,14 +11,14 @@ variable_name not in ( 'have_openssl', 'have_symlink', 'hostname', -'large_files_support', +'large_files_support', 'log_tc_size', 'lower_case_file_system', 'lower_case_table_names', 'open_files_limit', 'system_time_zone', 'version_comment', 'version_compile_machine', 'version_compile_os', -'version_malloc_library', 'log_tc_size', 'version' +'version_malloc_library', 'version_ssl_library', 'version' ) order by variable_name; VARIABLE_NAME AUTOCOMMIT @@ -4754,7 +4754,7 @@ where variable_name in ( 'system_time_zone', 'version_comment', 'version_compile_machine', 'version_compile_os', -'version_malloc_library', 'version' +'version_malloc_library', 'version_ssl_library', 'version' ) order by variable_name; VARIABLE_NAME HAVE_OPENSSL @@ -4887,6 +4887,16 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT NULL +VARIABLE_NAME VERSION_SSL_LIBRARY +VARIABLE_SCOPE GLOBAL +VARIABLE_TYPE VARCHAR +VARIABLE_COMMENT Version of the used SSL library +NUMERIC_MIN_VALUE NULL +NUMERIC_MAX_VALUE NULL +NUMERIC_BLOCK_SIZE NULL +ENUM_VALUE_LIST NULL +READ_ONLY YES +COMMAND_LINE_ARGUMENT NULL select VARIABLE_NAME, GLOBAL_VALUE_ORIGIN, VARIABLE_SCOPE, VARIABLE_TYPE, VARIABLE_COMMENT, ENUM_VALUE_LIST, READ_ONLY, COMMAND_LINE_ARGUMENT from information_schema.system_variables diff --git a/mysql-test/suite/sys_vars/r/version_ssl_library_basic.result b/mysql-test/suite/sys_vars/r/version_ssl_library_basic.result new file mode 100644 index 00000000000..c37bb6f21af --- /dev/null +++ b/mysql-test/suite/sys_vars/r/version_ssl_library_basic.result @@ -0,0 +1,2 @@ +set @@global.version_malloc_library=1; +ERROR HY000: Variable 'version_malloc_library' is a read only variable diff --git a/mysql-test/suite/sys_vars/t/version_ssl_library_basic.test b/mysql-test/suite/sys_vars/t/version_ssl_library_basic.test new file mode 100644 index 00000000000..3a244084e7f --- /dev/null +++ b/mysql-test/suite/sys_vars/t/version_ssl_library_basic.test @@ -0,0 +1,2 @@ +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set @@global.version_malloc_library=1; diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc index 1ff72fc11fc..1a4628d0d72 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc @@ -3377,6 +3377,22 @@ static Sys_var_charptr Sys_malloc_library( READ_ONLY GLOBAL_VAR(malloc_library), CMD_LINE_HELP_ONLY, IN_SYSTEM_CHARSET, DEFAULT(MALLOC_LIBRARY)); +#ifdef HAVE_YASSL +#include <openssl/ssl.h> +#define SSL_LIBRARY "YaSSL " YASSL_VERSION +#elif HAVE_OPENSSL +#include <openssl/opensslv.h> +#define SSL_LIBRARY OPENSSL_VERSION_TEXT +#else +#error No SSL? +#endif + +static char *ssl_library; +static Sys_var_charptr Sys_ssl_library( + "version_ssl_library", "Version of the used SSL library", + READ_ONLY GLOBAL_VAR(ssl_library), CMD_LINE_HELP_ONLY, + IN_SYSTEM_CHARSET, DEFAULT(SSL_LIBRARY)); + static Sys_var_ulong Sys_net_wait_timeout( "wait_timeout", "The number of seconds the server waits for activity on a " |