net/server_epoll.lua
changeset 11663 00295a8e5bcf
parent 11662 36942fa001b4
child 11664 68f0196ece2a
--- 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);