summaryrefslogtreecommitdiffstats
path: root/src/network/ssl/qsslsocket_mac_p.h
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@theqtcompany.com>2015-09-29 12:38:53 +0200
committerMorten Johan Sørvig <morten.sorvig@theqtcompany.com>2015-11-23 10:46:49 +0000
commit7cfc24f72a80656580218dccab9b24b89a273022 (patch)
treecec3a0e23192b157cf0378a9bafb62aa9a8add14 /src/network/ssl/qsslsocket_mac_p.h
parent5a48d1d164ba507469ee1a8a682a3c194d733890 (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.h22
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);
};