summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMikkel Krautz <mikkel@krautz.dk>2015-02-13 18:09:20 +0100
committerMikkel Krautz <mikkel@krautz.dk>2015-02-15 13:26:47 +0000
commitb6b5ba0e232fa812b471a1a567db760e6fadae95 (patch)
treebee9efe3eae4da7208a945093590c2f1b60c9990 /src
parent839f38bcfab4e96d8f90f50caed0d1e76465aabd (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>
Diffstat (limited to 'src')
-rw-r--r--src/network/ssl/qsslsocket_mac.cpp21
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;