diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index dec354b47fd..13ad4e12e6b 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -1459,13 +1459,13 @@ void QHttpNetworkConnection::setSslConfiguration(const QSslConfiguration &config d->channels[i].setSslConfiguration(config); } -QSharedPointer QHttpNetworkConnection::sslContext() +std::shared_ptr QHttpNetworkConnection::sslContext() { Q_D(QHttpNetworkConnection); return d->sslContext; } -void QHttpNetworkConnection::setSslContext(QSharedPointer context) +void QHttpNetworkConnection::setSslContext(std::shared_ptr context) { Q_D(QHttpNetworkConnection); d->sslContext = std::move(context); diff --git a/src/network/access/qhttpnetworkconnection_p.h b/src/network/access/qhttpnetworkconnection_p.h index 5bda5079200..1c090776f60 100644 --- a/src/network/access/qhttpnetworkconnection_p.h +++ b/src/network/access/qhttpnetworkconnection_p.h @@ -138,8 +138,8 @@ public: void setSslConfiguration(const QSslConfiguration &config); void ignoreSslErrors(int channel = -1); void ignoreSslErrors(const QList &errors, int channel = -1); - QSharedPointer sslContext(); - void setSslContext(QSharedPointer context); + std::shared_ptr sslContext(); + void setSslContext(std::shared_ptr context); #endif void preConnectFinished(); @@ -275,7 +275,7 @@ public: QHttpNetworkConnection::ConnectionType connectionType; #ifndef QT_NO_SSL - QSharedPointer sslContext; + std::shared_ptr sslContext; #endif QHttp2Configuration http2Parameters; diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp index e819510308e..47f4968f03e 100644 --- a/src/network/ssl/qsslsocket.cpp +++ b/src/network/ssl/qsslsocket.cpp @@ -2995,7 +2995,7 @@ QList QSslSocketPrivate::unixRootCertDirectories() /*! \internal */ -void QSslSocketPrivate::checkSettingSslContext(QSslSocket* socket, QSharedPointer tlsContext) +void QSslSocketPrivate::checkSettingSslContext(QSslSocket* socket, std::shared_ptr tlsContext) { if (!socket) return; @@ -3007,7 +3007,7 @@ void QSslSocketPrivate::checkSettingSslContext(QSslSocket* socket, QSharedPointe /*! \internal */ -QSharedPointer QSslSocketPrivate::sslContext(QSslSocket *socket) +std::shared_ptr QSslSocketPrivate::sslContext(QSslSocket *socket) { if (!socket) return {}; diff --git a/src/network/ssl/qsslsocket_p.h b/src/network/ssl/qsslsocket_p.h index 2816e623815..f2c7c00ab34 100644 --- a/src/network/ssl/qsslsocket_p.h +++ b/src/network/ssl/qsslsocket_p.h @@ -130,8 +130,8 @@ public: Q_NETWORK_EXPORT static void pauseSocketNotifiers(QSslSocket*); Q_NETWORK_EXPORT static void resumeSocketNotifiers(QSslSocket*); // ### The 2 methods below should be made member methods once the QSslContext class is made public - static void checkSettingSslContext(QSslSocket*, QSharedPointer); - static QSharedPointer sslContext(QSslSocket *socket); + static void checkSettingSslContext(QSslSocket*, std::shared_ptr); + static std::shared_ptr sslContext(QSslSocket *socket); Q_NETWORK_EXPORT bool isPaused() const; Q_NETWORK_EXPORT void setPaused(bool p); bool bind(const QHostAddress &address, quint16, QAbstractSocket::BindMode) override; diff --git a/src/network/ssl/qtlsbackend.cpp b/src/network/ssl/qtlsbackend.cpp index d5f016a4d28..689908d6441 100644 --- a/src/network/ssl/qtlsbackend.cpp +++ b/src/network/ssl/qtlsbackend.cpp @@ -1864,7 +1864,7 @@ TlsCryptograph::~TlsCryptograph() = default; \sa sslContext() */ -void TlsCryptograph::checkSettingSslContext(QSharedPointer tlsContext) +void TlsCryptograph::checkSettingSslContext(std::shared_ptr tlsContext) { Q_UNUSED(tlsContext); } @@ -1877,7 +1877,7 @@ void TlsCryptograph::checkSettingSslContext(QSharedPointer tlsConte \sa checkSettingSslContext() */ -QSharedPointer TlsCryptograph::sslContext() const +std::shared_ptr TlsCryptograph::sslContext() const { return {}; } diff --git a/src/network/ssl/qtlsbackend_p.h b/src/network/ssl/qtlsbackend_p.h index 79bd0c5ebfd..020d84506e8 100644 --- a/src/network/ssl/qtlsbackend_p.h +++ b/src/network/ssl/qtlsbackend_p.h @@ -194,8 +194,8 @@ public: virtual ~TlsCryptograph(); virtual void init(QSslSocket *q, QSslSocketPrivate *d) = 0; - virtual void checkSettingSslContext(QSharedPointer tlsContext); - virtual QSharedPointer sslContext() const; + virtual void checkSettingSslContext(std::shared_ptr tlsContext); + virtual std::shared_ptr sslContext() const; virtual QList tlsErrors() const = 0; diff --git a/src/plugins/tls/openssl/qdtls_openssl_p.h b/src/plugins/tls/openssl/qdtls_openssl_p.h index d10d4ce5846..8f2b59c8b08 100644 --- a/src/plugins/tls/openssl/qdtls_openssl_p.h +++ b/src/plugins/tls/openssl/qdtls_openssl_p.h @@ -92,7 +92,7 @@ public: using BioMethod = QSharedPointer; BioMethod bioMethod; - using TlsContext = QSharedPointer; + using TlsContext = std::shared_ptr; TlsContext tlsContext; using TlsConnection = QSharedPointer; diff --git a/src/plugins/tls/openssl/qsslcontext_openssl.cpp b/src/plugins/tls/openssl/qsslcontext_openssl.cpp index ee69f5aa44a..1b32ad37dc7 100644 --- a/src/plugins/tls/openssl/qsslcontext_openssl.cpp +++ b/src/plugins/tls/openssl/qsslcontext_openssl.cpp @@ -172,14 +172,15 @@ QSslContext::~QSslContext() q_SSL_SESSION_free(session); } -QSharedPointer QSslContext::sharedFromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading) +std::shared_ptr QSslContext::sharedFromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading) { - QSharedPointer sslContext = QSharedPointer::create(); - initSslContext(sslContext.data(), mode, configuration, allowRootCertOnDemandLoading); + struct AccessToPrivateCtor : QSslContext {}; + std::shared_ptr sslContext = std::make_shared(); + initSslContext(sslContext.get(), mode, configuration, allowRootCertOnDemandLoading); return sslContext; } -QSharedPointer QSslContext::sharedFromPrivateConfiguration(QSslSocket::SslMode mode, QSslConfigurationPrivate *privConfiguration, +std::shared_ptr QSslContext::sharedFromPrivateConfiguration(QSslSocket::SslMode mode, QSslConfigurationPrivate *privConfiguration, bool allowRootCertOnDemandLoading) { return sharedFromConfiguration(mode, privConfiguration, allowRootCertOnDemandLoading); diff --git a/src/plugins/tls/openssl/qsslcontext_openssl_p.h b/src/plugins/tls/openssl/qsslcontext_openssl_p.h index 398ab9bb577..f031386ee15 100644 --- a/src/plugins/tls/openssl/qsslcontext_openssl_p.h +++ b/src/plugins/tls/openssl/qsslcontext_openssl_p.h @@ -69,9 +69,9 @@ public: ~QSslContext(); - static QSharedPointer sharedFromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, + static std::shared_ptr sharedFromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading); - static QSharedPointer sharedFromPrivateConfiguration(QSslSocket::SslMode mode, QSslConfigurationPrivate *privConfiguration, + static std::shared_ptr sharedFromPrivateConfiguration(QSslSocket::SslMode mode, QSslConfigurationPrivate *privConfiguration, bool allowRootCertOnDemandLoading); static long setupOpenSslOptions(QSsl::SslProtocol protocol, QSsl::SslOptions sslOptions); @@ -103,7 +103,6 @@ public: protected: QSslContext(); - friend class QSharedPointer; private: static void initSslContext(QSslContext* sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, diff --git a/src/plugins/tls/openssl/qtls_openssl.cpp b/src/plugins/tls/openssl/qtls_openssl.cpp index ec4303bcdc7..db7316e9273 100644 --- a/src/plugins/tls/openssl/qtls_openssl.cpp +++ b/src/plugins/tls/openssl/qtls_openssl.cpp @@ -504,13 +504,13 @@ void TlsCryptographOpenSSL::init(QSslSocket *qObj, QSslSocketPrivate *dObj) caToFetch = QSslCertificate{}; } -void TlsCryptographOpenSSL::checkSettingSslContext(QSharedPointer tlsContext) +void TlsCryptographOpenSSL::checkSettingSslContext(std::shared_ptr tlsContext) { if (!sslContextPointer) sslContextPointer = std::move(tlsContext); } -QSharedPointer TlsCryptographOpenSSL::sslContext() const +std::shared_ptr TlsCryptographOpenSSL::sslContext() const { return sslContextPointer; } diff --git a/src/plugins/tls/openssl/qtls_openssl_p.h b/src/plugins/tls/openssl/qtls_openssl_p.h index 48c9223f99d..9e7283b15d3 100644 --- a/src/plugins/tls/openssl/qtls_openssl_p.h +++ b/src/plugins/tls/openssl/qtls_openssl_p.h @@ -80,8 +80,8 @@ public: ~TlsCryptographOpenSSL(); void init(QSslSocket *qObj, QSslSocketPrivate *dObj) override; - void checkSettingSslContext(QSharedPointer tlsContext) override; - QSharedPointer sslContext() const override; + void checkSettingSslContext(std::shared_ptr tlsContext) override; + std::shared_ptr sslContext() const override; QList tlsErrors() const override; @@ -133,7 +133,7 @@ private: bool initSslContext(); void destroySslContext(); - QSharedPointer sslContextPointer; + std::shared_ptr sslContextPointer; SSL *ssl = nullptr; // TLSTODO: RAII. QList errorList;