From e095fa7f9cb994ec2b2639b58a3c0d822d4d2cf6 Mon Sep 17 00:00:00 2001 From: Daniel Nicoletti Date: Tue, 29 Jun 2021 16:37:41 -0300 Subject: Allow to set TCP network listen(2) backlog Qt has a hardcoded backlog value of 50, this allows for applications to tune this value. Modern kernels have the SYN cookie feature that reduces pressure from an flood attack, the backlog setting however is then a queue for most likely real completed (SYN/ACK) connections hence, it's easy to get clients connections dropped with this very small limit. [ChangeLog][QtNetwork][QTcpServer] Added QTcpServer::setListenBacklog() to be able to have control over the listen backlog feature. Change-Id: I1c78af6d99e012591e214b7e09fa85c485880d48 Reviewed-by: Qt CI Bot Reviewed-by: Giuseppe D'Angelo --- .../socket/platformsocketengine/tst_platformsocketengine.cpp | 6 +++--- .../network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'tests/auto/network') diff --git a/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp b/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp index 88a39eea93..23566a3d70 100644 --- a/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp +++ b/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp @@ -324,7 +324,7 @@ void tst_PlatformSocketEngine::serverTest() quint16 port = server.localPort(); // Listen for incoming connections - QVERIFY(server.listen()); + QVERIFY(server.listen(50)); QCOMPARE(server.state(), QAbstractSocket::ListeningState); // Initialize a Tcp socket @@ -429,7 +429,7 @@ void tst_PlatformSocketEngine::tcpLoopbackPerformance() quint16 port = server.localPort(); // Listen for incoming connections - QVERIFY(server.listen()); + QVERIFY(server.listen(50)); QCOMPARE(server.state(), QAbstractSocket::ListeningState); // Initialize a Tcp socket @@ -620,7 +620,7 @@ void tst_PlatformSocketEngine::receiveUrgentData() QCOMPARE(server.state(), QAbstractSocket::BoundState); quint16 port = server.localPort(); - QVERIFY(server.listen()); + QVERIFY(server.listen(50)); QCOMPARE(server.state(), QAbstractSocket::ListeningState); PLATFORMSOCKETENGINE client; diff --git a/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp b/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp index f0cff5da3e..7bf057cd5a 100644 --- a/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp +++ b/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp @@ -453,7 +453,7 @@ void tst_QSocks5SocketEngine::serverTest() QCOMPARE(server.state(), QAbstractSocket::BoundState); // Listen for incoming connections - QVERIFY(server.listen()); + QVERIFY(server.listen(50)); QCOMPARE(server.state(), QAbstractSocket::ListeningState); // Initialize a Tcp socket -- cgit v1.2.3