aboutsummaryrefslogtreecommitdiffstats
path: root/net/server_select.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2022-06-03 17:51:42 +0200
committerKim Alvefur <zash@zash.se>2022-06-03 17:51:42 +0200
commit88a2c1ffe029818288cc86afd48d791f2b86f5ad (patch)
tree41c0e2395e8121532ffbd877ead8724236a094ed /net/server_select.lua
parent2048a7a762e619974557c4015429626443835b4c (diff)
downloadprosody-88a2c1ffe029818288cc86afd48d791f2b86f5ad.tar.gz
prosody-88a2c1ffe029818288cc86afd48d791f2b86f5ad.zip
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
Diffstat (limited to 'net/server_select.lua')
-rw-r--r--net/server_select.lua9
1 files changed, 6 insertions, 3 deletions
diff --git a/net/server_select.lua b/net/server_select.lua
index 80f5f590..651bdfde 100644
--- a/net/server_select.lua
+++ b/net/server_select.lua
@@ -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 )