Changeset

10329:c0a72c97e6cf

net.server_epoll: Fix to get remote IP on direct TLS connections A Direct TLS connection (eg HTTPS) gets turned into a LuaSec handle before the :updatenames call done in the :connect method. LuaSec does not expose the :getpeername and :getsockname methods, so the addresses remain obscured, making debugging trickier since the actual IP addrerss connected to does not show up.
author Kim Alvefur <zash@zash.se>
date Sat, 12 Oct 2019 20:07:50 +0200
parents 10328:5c2b31c823b9
children 10330:d86b1304451a
files net/server_epoll.lua
diffstat 1 files changed, 1 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/net/server_epoll.lua	Sat Oct 12 19:51:29 2019 +0200
+++ b/net/server_epoll.lua	Sat Oct 12 20:07:50 2019 +0200
@@ -521,6 +521,7 @@
 		self._tls = true;
 		self:debug("Starting TLS now");
 		self:del();
+		self:updatenames(); -- Can't getpeer/sockname after wrap()
 		local ok, conn, err = pcall(luasec.wrap, self.conn, self.tls_ctx);
 		if not ok then
 			conn, err = ok, conn;