--- a/net/server_epoll.lua Sat Oct 31 00:33:29 2020 +0100
+++ b/net/server_epoll.lua Thu Jul 08 17:52:59 2021 +0200
@@ -562,6 +562,8 @@
self.onwritable = interface.tlshandshake;
self.onreadable = interface.tlshandshake;
self:set(true, true);
+ self:setreadtimeout(cfg.ssl_handshake_timeout);
+ self:setwritetimeout(cfg.ssl_handshake_timeout);
self:debug("Prepared to start TLS");
end
end
@@ -691,15 +693,17 @@
end
local client = wrapsocket(conn, self, nil, self.listeners);
client:debug("New connection %s on server %s", client, self);
- client:init();
if self.tls_direct then
+ client:add(true, true);
client:starttls(self.tls_ctx);
else
+ client:add(true, false);
+ client:setreadtimeout();
client:onconnect();
end
end
--- Initialization
+-- Initialization for outgoing connections
function interface:init()
self:setwritetimeout(cfg.connect_timeout);
return self:add(true, true);