diff options
-rw-r--r-- | src/plugins/tls/openssl/qtls_openssl.cpp | 1 | ||||
-rw-r--r-- | src/plugins/tls/securetransport/qtls_st.cpp | 1 | ||||
-rw-r--r-- | tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/tls/openssl/qtls_openssl.cpp b/src/plugins/tls/openssl/qtls_openssl.cpp index 9ed9ab7538..339973f9e9 100644 --- a/src/plugins/tls/openssl/qtls_openssl.cpp +++ b/src/plugins/tls/openssl/qtls_openssl.cpp @@ -1127,6 +1127,7 @@ void TlsCryptographOpenSSL::disconnected() Q_ASSERT(d); auto *plainSocket = d->plainTcpSocket(); Q_ASSERT(plainSocket); + d->setEncrypted(false); if (plainSocket->bytesAvailable() <= 0) { destroySslContext(); diff --git a/src/plugins/tls/securetransport/qtls_st.cpp b/src/plugins/tls/securetransport/qtls_st.cpp index 306f184f25..6741fbc5b2 100644 --- a/src/plugins/tls/securetransport/qtls_st.cpp +++ b/src/plugins/tls/securetransport/qtls_st.cpp @@ -398,6 +398,7 @@ void TlsCryptographSecureTransport::continueHandshake() void TlsCryptographSecureTransport::disconnected() { Q_ASSERT(d && d->plainTcpSocket()); + d->setEncrypted(false); if (d->plainTcpSocket()->bytesAvailable() <= 0) destroySslContext(); // If there is still buffered data in the plain socket, don't destroy the ssl context yet. diff --git a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp index 2a598661ac..4f6dca857a 100644 --- a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp +++ b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp @@ -1077,6 +1077,7 @@ void tst_QSslSocket::connectToHostEncrypted() socket->disconnectFromHost(); QVERIFY(socket->waitForDisconnected()); + QVERIFY(!socket->isEncrypted()); QCOMPARE(socket->mode(), QSslSocket::SslClientMode); |