summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMÃ¥rten Nordheim <marten.nordheim@qt.io>2021-06-24 13:59:09 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-06-24 23:31:01 +0000
commit6f68d50d31a6cc111293a13ac9d8fb0e8a9ec38d (patch)
tree7200ceded13e746e97a6c2bc09ae66762bcc6df5 /src
parent42c7b67cb493fb127bbe5e19ea7831ae5de2f1ea (diff)
QSslSocket: Set isEncrypted to false on disconnect
Since we're no longer connected, much less encrypted. Was done in schannel backend, but not in ST or OpenSSL Change-Id: Ia49387be0088f899a0c89091f7e468dba1c0eee6 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 664a6621fb54aaa5824ff4f3f09cbc21ecefcd3b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/tls/openssl/qtls_openssl.cpp1
-rw-r--r--src/plugins/tls/securetransport/qtls_st.cpp1
2 files changed, 2 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.