Commit 276b95a0 authored by dkatz@damien-katzs-computer.local's avatar dkatz@damien-katzs-computer.local

Merge damien-katzs-computer.local:/Users/dkatz/50

into  damien-katzs-computer.local:/Users/dkatz/mysql51
parents 230adda1 d2e45f20
...@@ -584,7 +584,7 @@ class SSL { ...@@ -584,7 +584,7 @@ class SSL {
Socket socket_; // socket wrapper Socket socket_; // socket wrapper
Buffers buffers_; // buffered handshakes and data Buffers buffers_; // buffered handshakes and data
Log log_; // logger Log log_; // logger
bool quietShutdown_; bool quietShutdown_; // shutdown without handshakes
// optimization variables // optimization variables
bool has_data_; // buffered data ready? bool has_data_; // buffered data ready?
......
...@@ -291,7 +291,7 @@ const ClientKeyFactory& sslFactory::getClientKey() const ...@@ -291,7 +291,7 @@ const ClientKeyFactory& sslFactory::getClientKey() const
SSL::SSL(SSL_CTX* ctx) SSL::SSL(SSL_CTX* ctx)
: secure_(ctx->getMethod()->getVersion(), crypto_.use_random(), : secure_(ctx->getMethod()->getVersion(), crypto_.use_random(),
ctx->getMethod()->getSide(), ctx->GetCiphers(), ctx, ctx->getMethod()->getSide(), ctx->GetCiphers(), ctx,
ctx->GetDH_Parms().set_), has_data_(false), quietShutdown_(false) ctx->GetDH_Parms().set_), quietShutdown_(false), has_data_(false)
{ {
if (int err = crypto_.get_random().GetError()) { if (int err = crypto_.get_random().GetError()) {
SetError(YasslError(err)); SetError(YasslError(err));
......
...@@ -420,7 +420,7 @@ mysqltest: At line 1: query 'connect con2,localhost,root,,illegal_db' failed: 1 ...@@ -420,7 +420,7 @@ mysqltest: At line 1: query 'connect con2,localhost,root,,illegal_db' failed: 1
mysqltest: At line 1: Illegal argument for port: 'illegal_port' mysqltest: At line 1: Illegal argument for port: 'illegal_port'
mysqltest: At line 1: Illegal option to connect: SMTP mysqltest: At line 1: Illegal option to connect: SMTP
OK OK
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 7: Connection limit exhausted, you can have max 128 connections mysqltest: The test didn't produce any output
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 3: connection 'test_con1' not found in connection pool mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 3: connection 'test_con1' not found in connection pool
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 2: Connection test_con1 already exists mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 2: Connection test_con1 already exists
connect(localhost,root,,test,MASTER_PORT,MASTER_SOCKET); connect(localhost,root,,test,MASTER_PORT,MASTER_SOCKET);
......
...@@ -1263,7 +1263,7 @@ while ($i) ...@@ -1263,7 +1263,7 @@ while ($i)
EOF EOF
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql; echo OK;" | $MYSQL_TEST 2>&1 --exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql; echo OK;" | $MYSQL_TEST 2>&1
# Repeat connect/disconnect, exceed max number of connections # Repeat connect/disconnect
--write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql --write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql
let $i=200; let $i=200;
while ($i) while ($i)
......
# Turn on ssl between the client and server
# and run a number of tests
-- source include/have_ssl.inc
connect (ssl_con,localhost,root,,,,,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';
disconnect ssl_con;
#
# Bug #29579 Clients using SSL can hang the server
#
connect (ssl_con,localhost,root,,,,,SSL);
create table t1 (a int);
disconnect ssl_con;
let $count= 2000;
while ($count)
{
connect (ssl_con,localhost,root,,,,,SSL);
let $i= 1;
while ($i)
{
eval insert into t1 values ($count);
dec $count;
dec $i;
}
# This select causes the net buffer to fill as the server sends the results
# but the client doesn't reap the results. The results are larger each time
# through the loop, so that eventually the buffer is completely full
# at the exact moment the server attempts to the close the connection with
# the lock held.
send select * from t1;
# now send the quit the command so the server will initiate the shutdown.
send_quit ssl_con;
# if the server is hung, this will hang too:
connect (ssl_con2,localhost,root,,,,,SSL);
# no hang if we get here, close and retry
disconnect ssl_con2;
disconnect ssl_con;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment