# HG changeset patch # User Kim Alvefur # Date 1626448209 -7200 # Node ID 1275dad71afd72b055ba19a19adb532ee6cdfd39 # Parent 9a2a98621c73bf60b9ce8595d3fe89aa69f5db27 net.server_epoll: Use only fatal "write" timeout during TLS negotiation Only real difference between the read and write timeouts is that the former has a callback that allows the higher levels to keep the connection alive, while hitting the later is immediately fatal. We want the later behavior for TLS negotiation. diff -r 9a2a98621c73 -r 1275dad71afd net/server_epoll.lua --- a/net/server_epoll.lua Fri Jul 16 15:40:08 2021 +0200 +++ b/net/server_epoll.lua Fri Jul 16 17:10:09 2021 +0200 @@ -600,7 +600,7 @@ self.onwritable = interface.inittls; self.onreadable = interface.inittls; self:set(true, true); - self:setreadtimeout(cfg.ssl_handshake_timeout); + self:setreadtimeout(false); self:setwritetimeout(cfg.ssl_handshake_timeout); self:debug("Prepared to start TLS"); end @@ -651,7 +651,7 @@ if now then return self:tlshandshake() end - self:setreadtimeout(cfg.ssl_handshake_timeout); + self:setreadtimeout(false); self:setwritetimeout(cfg.ssl_handshake_timeout); self:set(true, true); end @@ -677,7 +677,7 @@ elseif err == "wantread" then self:noise("TLS handshake to wait until readable"); self:set(true, false); - self:setreadtimeout(cfg.ssl_handshake_timeout); + self:setwritetimeout(cfg.ssl_handshake_timeout); elseif err == "wantwrite" then self:noise("TLS handshake to wait until writable"); self:set(false, true);