Software /
code /
prosody
Diff
net/server_epoll.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 | 12515:76c1725f4467 |
child | 12594:29685403be32 |
line wrap: on
line diff
--- a/net/server_epoll.lua Sun Dec 06 22:04:43 2020 +0100 +++ b/net/server_epoll.lua Fri Jun 03 17:51:42 2022 +0200 @@ -627,22 +627,26 @@ 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)