summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@qt.io>2020-05-08 12:52:25 +0200
committerTimur Pocheptsov <timur.pocheptsov@qt.io>2020-05-08 18:11:03 +0200
commit920487bf6b4d06ce9fef82e99e262ee0dd7d2ea3 (patch)
tree46d5e10bdffc3540ce6f4737c5711b2168121483 /tests
parentf579be96f7ad0362220f710a03a390d1c1139c52 (diff)
QSslSocket::setSslSonfiguration - set d.configuration properly
We end up with an absurd situation: QSslConfiguration conf; //we set CA certs so that on demand loading is disabled: conf.setCaCertificates({...}); QSslSocket s; s.setSslConfiguration(conf); Q_ASSERT(conf == s.sslConfiguration); // this assert fails. Pick-to: 5.15 Change-Id: I272bed145434082acc6ead95fe3640d222b21131 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
index 8b5b4156bb..79bd4994db 100644
--- a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
@@ -151,6 +151,7 @@ public slots:
#ifndef QT_NO_SSL
private slots:
void constructing();
+ void configNoOnDemandLoad();
void simpleConnect();
void simpleConnectWithIgnore();
@@ -590,6 +591,25 @@ void tst_QSslSocket::constructing()
QSslConfiguration::setDefaultConfiguration(savedDefault);
}
+void tst_QSslSocket::configNoOnDemandLoad()
+{
+ QFETCH_GLOBAL(bool, setProxy);
+ if (setProxy)
+ return; // NoProxy is enough.
+
+ // We noticed a peculiar situation, where a configuration
+ // set on a socket is not equal to the configuration we
+ // get back from the socket afterwards.
+ auto customConfig = QSslConfiguration::defaultConfiguration();
+ // Setting CA certificates disables loading root certificates
+ // during verification:
+ customConfig.setCaCertificates(customConfig.caCertificates());
+
+ QSslSocket socket;
+ socket.setSslConfiguration(customConfig);
+ QCOMPARE(customConfig, socket.sslConfiguration());
+}
+
void tst_QSslSocket::simpleConnect()
{
if (!QSslSocket::supportsSsl())