From 123a7b70799c0ec3f773a7422e304ca4940b3ae3 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Tue, 13 Jul 2021 14:51:05 +0200 Subject: net.server_epoll: Keep socket registered in epoll trough TLS wrapping There's the theory that the socket isn't the same before/after wrap(), but since epoll operates on FD numbers this shouldn't matter. --- net/server_epoll.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'net') diff --git a/net/server_epoll.lua b/net/server_epoll.lua index b89f6cb8..ce69abb1 100644 --- a/net/server_epoll.lua +++ b/net/server_epoll.lua @@ -575,7 +575,6 @@ function interface:inittls(tls_ctx) if tls_ctx then self.tls_ctx = tls_ctx; end 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 @@ -615,7 +614,7 @@ function interface:inittls(tls_ctx) self.onreadable = interface.tlshandshake; self:setreadtimeout(cfg.ssl_handshake_timeout); self:setwritetimeout(cfg.ssl_handshake_timeout); - self:add(true, true); + self:set(true, true); end function interface:tlshandshake() -- cgit v1.2.3