summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMårten Nordheim <marten.nordheim@qt.io>2022-12-13 17:07:48 +0100
committerMårten Nordheim <marten.nordheim@qt.io>2022-12-15 09:48:39 +0000
commit7efdec16d9f6116fc6c13bc3ae7c9b9e229e5a49 (patch)
tree72a7f9f6139261447d204db200286de445a15f9f
parent6378c341b36e05a6a8986a867d4d13ecc258a7cb (diff)
downloadqtwebsockets-7efdec16d9f6116fc6c13bc3ae7c9b9e229e5a49.tar.gz
Disconnect when handshake fails
It is unexpected that websocket does not disconnect once it knows the handshake has failed. Pick-to: 6.5 6.4 6.2 5.15 Change-Id: I11e64745ffdb01c11ac79739cf7f384ad6cc4590 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
-rw-r--r--src/websockets/qwebsocket_p.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp
index 4be504e..8b18818 100644
--- a/src/websockets/qwebsocket_p.cpp
+++ b/src/websockets/qwebsocket_p.cpp
@@ -1090,6 +1090,8 @@ void QWebSocketPrivate::processHandshake(QTcpSocket *pSocket)
// handshake failed
setErrorString(errorDescription);
emitErrorOccurred(QAbstractSocket::ConnectionRefusedError);
+ if (m_pSocket->state() != QAbstractSocket::UnconnectedState)
+ m_pSocket->disconnectFromHost();
}
}