Software /
code /
prosody
Diff
net/server.lua @ 567:ae7f6167d780
Re-commit TLS fix
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 05 Dec 2008 19:55:46 +0000 |
parent | 566:c83166927835 |
child | 581:23b9cd1206ba |
line wrap: on
line diff
--- a/net/server.lua Fri Dec 05 19:50:34 2008 +0000 +++ b/net/server.lua Fri Dec 05 19:55:46 2008 +0000 @@ -501,13 +501,24 @@ handler.starttls = function (now) if not now then out_put("server.lua: we need to do tls, but delaying until later"); handler.need_tls = true; return; end out_put( "server.lua: attempting to start tls on "..tostring(socket) ) + local oldsocket = socket; socket, err = ssl_wrap( socket, sslctx ) -- wrap socket out_put("sslwrapped socket is "..tostring(socket)); if err then out_put( "server.lua: ssl error: ", err ) return nil, nil, err -- fatal error end - socket:settimeout( 1 ) + socket:settimeout(0); + + -- Add the new socket to our system + socketlist[ socket ] = handler + readlen = readlen + 1 + readlist[ readlen ] = socket + + -- Remove traces of the old socket + readlen = removesocket( readlist, oldsocket, readlen ) + socketlist [ oldsocket ] = nil; + send = socket.send receive = socket.receive close = socket.close