summaryrefslogtreecommitdiffstats
path: root/src/network/ssl
diff options
context:
space:
mode:
authorMartin Porcelli <porcelli@xwin32.com>2016-03-01 12:10:04 -0800
committerJędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>2016-06-08 07:42:42 +0000
commit5f3a262a7377c33383594d4ab52e66b987316d70 (patch)
tree5e75727c918a80621fae8071bfa52ef88ca8df61 /src/network/ssl
parent862fa24179505ef725ff78bb64bdabd54bd00c95 (diff)
QSslSocket: Data is sent after a certificate is downloaded on Windows.
QSslSocket was not transmitting existing data after finishing its handshake if it had to download a certificate on Windows. Task-number: QTBUG-48816 Change-Id: Ie35b5f4ca0f6c3c40fe2394166eb31f9f72dac55 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Richard J. Moore <rich@kde.org>
Diffstat (limited to 'src/network/ssl')
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 9df0c693ab..57cedf2c22 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -1368,8 +1368,12 @@ void QSslSocketBackendPrivate::_q_caRootLoaded(QSslCertificate cert, QSslCertifi
if (plainSocket)
plainSocket->resume();
paused = false;
- if (checkSslErrors() && ssl)
+ if (checkSslErrors() && ssl) {
+ bool willClose = (autoStartHandshake && pendingClose);
continueHandshake();
+ if (!willClose)
+ transmit();
+ }
}
class QWindowsCaRootFetcherThread : public QThread