mirror of
https://github.com/bjc/prosody.git
synced 2025-04-03 21:27:38 +03:00
net.server: Fix multiple return values
return foo and foo() crops multiple return values to a single one, so any second return values etc were last, mostly error details. Introduced in 7e9ebdc75ce4
This commit is contained in:
parent
2048a7a762
commit
88a2c1ffe0
3 changed files with 26 additions and 11 deletions
|
@ -627,22 +627,26 @@ end
|
|||
|
||||
function interface:ssl_info()
|
||||
local sock = self.conn;
|
||||
return sock.info and sock:info();
|
||||
if not sock.info then return nil, "not-implemented"; end
|
||||
return sock:info();
|
||||
end
|
||||
|
||||
function interface:ssl_peercertificate()
|
||||
local sock = self.conn;
|
||||
return sock.getpeercertificate and sock:getpeercertificate();
|
||||
if not sock.getpeercertificate then return nil, "not-implemented"; end
|
||||
return sock:getpeercertificate();
|
||||
end
|
||||
|
||||
function interface:ssl_peerverification()
|
||||
local sock = self.conn;
|
||||
return sock.getpeerverification and sock:getpeerverification();
|
||||
if not sock.getpeerverification then return nil, { { "Chain verification not supported" } }; end
|
||||
return sock:getpeerverification();
|
||||
end
|
||||
|
||||
function interface:ssl_peerfinished()
|
||||
local sock = self.conn;
|
||||
return sock.getpeerfinished and sock:getpeerfinished();
|
||||
if not sock.getpeerfinished then return nil, "not-implemented"; end
|
||||
return sock:getpeerfinished();
|
||||
end
|
||||
|
||||
function interface:starttls(tls_ctx)
|
||||
|
|
|
@ -281,19 +281,27 @@ function interface_mt:sslctx()
|
|||
end
|
||||
|
||||
function interface_mt:ssl_info()
|
||||
return self.conn.info and self.conn:info()
|
||||
local sock = self.conn;
|
||||
if not sock.info then return nil, "not-implemented"; end
|
||||
return sock:info();
|
||||
end
|
||||
|
||||
function interface_mt:ssl_peercertificate()
|
||||
return self.conn.getpeercertificate and self.conn:getpeercertificate()
|
||||
local sock = self.conn;
|
||||
if not sock.getpeercertificate then return nil, "not-implemented"; end
|
||||
return sock:getpeercertificate();
|
||||
end
|
||||
|
||||
function interface_mt:ssl_peerverification()
|
||||
return self.conn.getpeerverification and self.conn:getpeerverification()
|
||||
local sock = self.conn;
|
||||
if not sock.getpeerverification then return nil, { { "Chain verification not supported" } }; end
|
||||
return sock:getpeerverification();
|
||||
end
|
||||
|
||||
function interface_mt:ssl_peerfinished()
|
||||
return self.conn.getpeerfinished and self.conn:getpeerfinished()
|
||||
local sock = self.conn;
|
||||
if not sock.getpeerfinished then return nil, "not-implemented"; end
|
||||
return sock:getpeerfinished();
|
||||
end
|
||||
|
||||
function interface_mt:resume()
|
||||
|
|
|
@ -363,13 +363,16 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport
|
|||
return socket.info and socket:info()
|
||||
end
|
||||
handler.ssl_peercertificate = function( )
|
||||
return socket.getpeercertificate and socket:getpeercertificate()
|
||||
if not socket.getpeercertificate then return nil, "not-implemented"; end
|
||||
return socket:getpeercertificate()
|
||||
end
|
||||
handler.ssl_peerverification = function( )
|
||||
return socket.getpeerverification and socket:getpeerverification()
|
||||
if not socket.getpeerverification then return nil, { { "Chain verification not supported" } }; end
|
||||
return socket:getpeerverification();
|
||||
end
|
||||
handler.ssl_peerfinished = function( )
|
||||
return socket.getpeerfinished and socket:getpeerfinished()
|
||||
if not socket.getpeerfinished then return nil, "not-implemented"; end
|
||||
return socket:getpeerfinished();
|
||||
end
|
||||
handler.send = function( _, data, i, j )
|
||||
return send( socket, data, i, j )
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue