Diff

net/server_select.lua @ 12542:5ec9d6913162

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
author Kim Alvefur <zash@zash.se>
date Fri, 03 Jun 2022 17:51:42 +0200
parent 12487:db634db8e069
child 12974:ba409c67353b
line wrap: on
line diff
--- a/net/server_select.lua	Sun Dec 06 22:04:43 2020 +0100
+++ b/net/server_select.lua	Fri Jun 03 17:51:42 2022 +0200
@@ -363,13 +363,16 @@
 		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 )