diff options
author | Martin Porcelli <porcelli@xwin32.com> | 2016-03-01 12:10:04 -0800 |
---|---|---|
committer | Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com> | 2016-06-08 07:42:42 +0000 |
commit | 5f3a262a7377c33383594d4ab52e66b987316d70 (patch) | |
tree | 5e75727c918a80621fae8071bfa52ef88ca8df61 /src/network/ssl | |
parent | 862fa24179505ef725ff78bb64bdabd54bd00c95 (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.cpp | 6 |
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 |