diff options
author | Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> | 2015-09-29 12:38:53 +0200 |
---|---|---|
committer | Morten Johan Sørvig <morten.sorvig@theqtcompany.com> | 2015-11-23 10:46:49 +0000 |
commit | 7cfc24f72a80656580218dccab9b24b89a273022 (patch) | |
tree | cec3a0e23192b157cf0378a9bafb62aa9a8add14 /src/network/ssl/qsslsocket_mac_p.h | |
parent | 5a48d1d164ba507469ee1a8a682a3c194d733890 (diff) |
Secure Transport backend - make it work on OS X 10.7
On OS X SSLCreateContext is quite recent - it requires OS X/SDK version
>= 10.8. Since SecureTransport back-end is the default one in Qt 5.6,
make it also work on OS X 10.7.
Change-Id: I364feff9dd95772fcea926494b2d4edaffd2dde1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Diffstat (limited to 'src/network/ssl/qsslsocket_mac_p.h')
-rw-r--r-- | src/network/ssl/qsslsocket_mac_p.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/network/ssl/qsslsocket_mac_p.h b/src/network/ssl/qsslsocket_mac_p.h index 868b816957..0479e30d97 100644 --- a/src/network/ssl/qsslsocket_mac_p.h +++ b/src/network/ssl/qsslsocket_mac_p.h @@ -45,8 +45,6 @@ // We mean it. // -#include <QtCore/private/qcore_mac_p.h> - #include <QtCore/qstring.h> #include <QtCore/qglobal.h> #include <QtCore/qlist.h> @@ -59,6 +57,20 @@ QT_BEGIN_NAMESPACE +class QSecureTransportContext +{ +public: + explicit QSecureTransportContext(SSLContextRef context); + ~QSecureTransportContext(); + + operator SSLContextRef () const; + void reset(SSLContextRef newContext); +private: + SSLContextRef context; + + Q_DISABLE_COPY(QSecureTransportContext); +}; + class QSslSocketBackendPrivate : public QSslSocketPrivate { Q_DECLARE_PUBLIC(QSslSocket) @@ -76,8 +88,8 @@ public: void startServerEncryption() Q_DECL_OVERRIDE; void transmit() Q_DECL_OVERRIDE; - static QList<QSslError> (verify)(QList<QSslCertificate> certificateChain, - const QString &hostName); + static QList<QSslError> verify(QList<QSslCertificate> certificateChain, + const QString &hostName); static bool importPkcs12(QIODevice *device, QSslKey *key, QSslCertificate *cert, @@ -108,7 +120,7 @@ private: void setError(const QString &errorString, QAbstractSocket::SocketError errorCode); - mutable QCFType<SSLContextRef> context; + QSecureTransportContext context; Q_DISABLE_COPY(QSslSocketBackendPrivate); }; |