diff options
author | Mikkel Krautz <mikkel@krautz.dk> | 2015-02-13 18:09:20 +0100 |
---|---|---|
committer | Mikkel Krautz <mikkel@krautz.dk> | 2015-02-15 13:26:47 +0000 |
commit | b6b5ba0e232fa812b471a1a567db760e6fadae95 (patch) | |
tree | bee9efe3eae4da7208a945093590c2f1b60c9990 | |
parent | 839f38bcfab4e96d8f90f50caed0d1e76465aabd (diff) |
QSsl: teach the SecureTransport backend about TlsV1_0OrLater, TlsV1_1OrLater and TlsV1_2OrLater
Change-Id: I001ffebef30b47b63cae6ea9487d9e96ca85ff92
Reviewed-by: Richard J. Moore <rich@kde.org>
-rw-r--r-- | src/network/ssl/qsslsocket_mac.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/network/ssl/qsslsocket_mac.cpp b/src/network/ssl/qsslsocket_mac.cpp index 5dec6c5dbb..3326362d66 100644 --- a/src/network/ssl/qsslsocket_mac.cpp +++ b/src/network/ssl/qsslsocket_mac.cpp @@ -913,6 +913,27 @@ bool QSslSocketBackendPrivate::setSessionProtocol() err = SSLSetProtocolVersionMin(context, kTLSProtocol1); if (err == noErr) err = SSLSetProtocolVersionMax(context, kTLSProtocol12); + } else if (configuration.protocol == QSsl::TlsV1_0OrLater) { +#ifdef QSSLSOCKET_DEBUG + qDebug() << Q_FUNC_INFO << plainSocket << "requesting : TLSv1 - TLSv1.2"; +#endif + err = SSLSetProtocolVersionMin(context, kTLSProtocol1); + if (err == noErr) + err = SSLSetProtocolVersionMax(context, kTLSProtocol12); + } else if (configuration.protocol == QSsl::TlsV1_1OrLater) { +#ifdef QSSLSOCKET_DEBUG + qDebug() << Q_FUNC_INFO << plainSocket << "requesting : TLSv1.1 - TLSv1.2"; +#endif + err = SSLSetProtocolVersionMin(context, kTLSProtocol11); + if (err == noErr) + err = SSLSetProtocolVersionMax(context, kTLSProtocol12); + } else if (configuration.protocol == QSsl::TlsV1_2OrLater) { +#ifdef QSSLSOCKET_DEBUG + qDebug() << Q_FUNC_INFO << plainSocket << "requesting : TLSv1.2"; +#endif + err = SSLSetProtocolVersionMin(context, kTLSProtocol12); + if (err == noErr) + err = SSLSetProtocolVersionMax(context, kTLSProtocol12); } else { qDebug() << Q_FUNC_INFO << "no protocol version found in the configuration"; return false; |