diff --git a/extra/yassl/src/buffer.cpp b/extra/yassl/src/buffer.cpp index b7a77f478f8..ee5e0cc0793 100644 --- a/extra/yassl/src/buffer.cpp +++ b/extra/yassl/src/buffer.cpp @@ -165,7 +165,7 @@ void input_buffer::set_error() void input_buffer::set_current(uint i) { - if (error_ == 0 && i && check(i - 1, size_) == 0) + if (error_ == 0 && (i == 0 || check(i - 1, size_) == 0)) current_ = i; else error_ = -1; diff --git a/mysql-test/r/openssl-poodle_6975,sslv3.result b/mysql-test/r/openssl_6975,tlsv10.result similarity index 100% rename from mysql-test/r/openssl-poodle_6975,sslv3.result rename to mysql-test/r/openssl_6975,tlsv10.result diff --git a/mysql-test/r/openssl-poodle_6975,tlsv12.result b/mysql-test/r/openssl_6975,tlsv12.result similarity index 100% rename from mysql-test/r/openssl-poodle_6975,tlsv12.result rename to mysql-test/r/openssl_6975,tlsv12.result diff --git a/mysql-test/suite.pm b/mysql-test/suite.pm index e0e47560331..ac4068a6373 100644 --- a/mysql-test/suite.pm +++ b/mysql-test/suite.pm @@ -52,7 +52,7 @@ sub skip_combinations { } $skip{'include/check_ipv6.inc'} = 'No IPv6' unless ipv6_ok(); - $skip{'t/openssl-poodle_6975.test'} = 'no or too old openssl' + $skip{'t/openssl_6975.test'} = 'no or too old openssl' unless ! IS_WINDOWS and ! system "openssl ciphers TLSv1.2 2>&1 >/dev/null"; %skip; diff --git a/mysql-test/t/openssl-poodle_6975.combinations b/mysql-test/t/openssl_6975.combinations similarity index 86% rename from mysql-test/t/openssl-poodle_6975.combinations rename to mysql-test/t/openssl_6975.combinations index 3147de1cb63..17517b7d552 100644 --- a/mysql-test/t/openssl-poodle_6975.combinations +++ b/mysql-test/t/openssl_6975.combinations @@ -1,6 +1,6 @@ [tlsv12] loose-ssl-cipher=TLSv1.2 -[sslv3] +[tlsv10] loose-ssl-cipher=SSLv3 diff --git a/mysql-test/t/openssl-poodle_6975.test b/mysql-test/t/openssl_6975.test similarity index 100% rename from mysql-test/t/openssl-poodle_6975.test rename to mysql-test/t/openssl_6975.test diff --git a/vio/viossl.c b/vio/viossl.c index 53e41ab2536..a0909ea9ec0 100644 --- a/vio/viossl.c +++ b/vio/viossl.c @@ -288,7 +288,7 @@ int vio_ssl_close(Vio *vio) break; default: /* Shutdown failed */ DBUG_PRINT("vio_error", ("SSL_shutdown() failed, error: %d", - SSL_get_error(ssl, r))); + (int)SSL_get_error(ssl, r))); break; } } diff --git a/vio/viosslfactories.c b/vio/viosslfactories.c index 9311ea239a7..20bed2b6728 100644 --- a/vio/viosslfactories.c +++ b/vio/viosslfactories.c @@ -203,6 +203,8 @@ new_VioSSLFd(const char *key_file, const char *cert_file, DBUG_RETURN(0); } + SSL_CTX_set_options(ssl_fd->ssl_context, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3); + /* Set the ciphers that can be used NOTE: SSL_CTX_set_cipher_list will return 0 if