From fffdba514a7f52494dbc6943da525171d2fd7104 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Sun, 1 Mar 2009 23:33:41 +0000 Subject: net.server: Don't retry if client closes socket during SSL handshaking --- net/server.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'net/server.lua') diff --git a/net/server.lua b/net/server.lua index aacadacc..e895f8aa 100644 --- a/net/server.lua +++ b/net/server.lua @@ -489,7 +489,7 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport read, wrote = nil, nil _, err = client:dohandshake( ) if not err then - --out_put( "server.lua: ssl handshake done" ) + out_put( "server.lua: ssl handshake done" ) handler.readbuffer = _readbuffer -- when handshake is done, replace the handshake function with regular functions handler.sendbuffer = _sendbuffer -- return dispatch( handler ) @@ -504,12 +504,14 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport _readlistlen = _readlistlen + 1 _readlist [ _readlistlen ] = client read = true + else + break; end --coroutine_yield( handler, nil, err ) -- handshake not finished coroutine_yield( ) end end - disconnect( handler, "max handshake attemps exceeded" ) + disconnect( handler, "ssl handshake failed" ) handler.close( true ) -- forced disconnect return false -- handshake failed end -- cgit v1.2.3