Software /
code /
prosody
Changeset
4888:c3e17766aead
net.server_select: Return error when SSL handshake fails immediately (thanks Zash)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 18 May 2012 00:27:06 +0100 (2012-05-17) |
parents | 4887:4dd61fe04db4 |
children | 4889:0c5091b8b833 |
files | net/server_select.lua |
diffstat | 1 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/net/server_select.lua Thu May 17 21:25:41 2012 +0200 +++ b/net/server_select.lua Fri May 18 00:27:06 2012 +0100 @@ -550,7 +550,7 @@ out_put( "server.lua: ssl handshake error: ", tostring(err or "handshake too long") ) disconnect( handler, "ssl handshake failed" ) _ = handler and handler:close( true ) -- forced disconnect - return false -- handshake failed + return false, err -- handshake failed end ) end @@ -594,7 +594,7 @@ handler.readbuffer = handshake handler.sendbuffer = handshake - handshake( socket ) -- do handshake + return handshake( socket ) -- do handshake end end @@ -610,7 +610,10 @@ if sslctx and luasec then out_put "server.lua: auto-starting ssl negotiation..." handler.autostart_ssl = true; - handler:starttls(sslctx); + local ok, err = handler:starttls(sslctx); + if ok == false then + return nil, nil, err + end end return handler, socket