summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/listensocket.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/listensocket.cpp b/src/listensocket.cpp
index fb9f2a0ef..13aebf75f 100644
--- a/src/listensocket.cpp
+++ b/src/listensocket.cpp
@@ -59,7 +59,8 @@ ListenSocket::ListenSocket(ConfigTag* tag, const irc::sockets::sockaddrs& bind_t
if (rv >= 0)
rv = SocketEngine::Listen(this->fd, ServerInstance->Config->MaxConn);
- int timeout = tag->getInt("defer", 0);
+ // Default defer to on for TLS listeners because in TLS the client always speaks first
+ int timeout = tag->getInt("defer", (tag->getString("ssl").empty() ? 0 : 3));
if (timeout && !rv)
{
#if defined TCP_DEFER_ACCEPT