summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/websockets/qwebsocket_p.cpp3
-rw-r--r--tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp10
2 files changed, 10 insertions, 3 deletions
diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp
index 7863567..bee2afa 100644
--- a/src/websockets/qwebsocket_p.cpp
+++ b/src/websockets/qwebsocket_p.cpp
@@ -596,6 +596,9 @@ void QWebSocketPrivate::makeConnections(const QTcpSocket *pTcpSocket)
QObject::connect(sslSocket, &QSslSocket::encryptedBytesWritten, q,
&QWebSocket::bytesWritten);
typedef void (QSslSocket:: *sslErrorSignalType)(const QList<QSslError> &);
+ QObjectPrivate::connect(sslSocket,
+ static_cast<sslErrorSignalType>(&QSslSocket::sslErrors),
+ this, &QWebSocketPrivate::_q_updateSslConfiguration);
QObject::connect(sslSocket,
static_cast<sslErrorSignalType>(&QSslSocket::sslErrors),
q, &QWebSocket::sslErrors);
diff --git a/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp b/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp
index 82a873d..b7734a4 100644
--- a/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp
+++ b/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp
@@ -31,9 +31,9 @@
#include <QTcpServer>
#ifndef QT_NO_OPENSSL
#include <QtNetwork/qsslpresharedkeyauthenticator.h>
-#include <QtNetwork/qsslcipher.h>
#endif
#ifndef QT_NO_SSL
+#include <QtNetwork/qsslcipher.h>
#include <QtNetwork/qsslkey.h>
#endif
#include <QtWebSockets/QWebSocketServer>
@@ -539,10 +539,13 @@ void tst_QWebSocketServer::tst_scheme()
QVERIFY(secureServer.listen());
+ QSslCipher sessionCipher;
QWebSocket secureSocket;
- typedef void (QWebSocket::* ignoreSslErrorsSlot)();
connect(&secureSocket, &QWebSocket::sslErrors,
- &secureSocket, static_cast<ignoreSslErrorsSlot>(&QWebSocket::ignoreSslErrors));
+ &secureSocket, [&] {
+ secureSocket.ignoreSslErrors();
+ sessionCipher = secureSocket.sslConfiguration().sessionCipher();
+ });
secureSocket.open(secureServer.serverUrl().toString());
QTRY_COMPARE(secureServerConnectionSpy.count(), 1);
@@ -550,6 +553,7 @@ void tst_QWebSocketServer::tst_scheme()
QVERIFY(!secureServerSocket.isNull());
QCOMPARE(secureServerSocket->requestUrl().scheme(), QStringLiteral("wss"));
secureServer.close();
+ QVERIFY(!sessionCipher.isNull());
#endif
}