summaryrefslogtreecommitdiffstats
path: root/src/network/ssl/qsslconfiguration.cpp
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@qt.io>2018-06-25 16:30:36 +0200
committerTimur Pocheptsov <timur.pocheptsov@qt.io>2018-07-13 04:50:38 +0000
commitd74ced697e96cf89ad382ccc5f730f55df955c36 (patch)
treed21dd386b9b6a0d3cd8596332ce240a0a301930e /src/network/ssl/qsslconfiguration.cpp
parent58065cedf753032477487799845b4414a6476a39 (diff)
Extend the feature 'dtls' to handle missing DTLS support in OpenSSL
OpenSSL has 'no-dtls' configure option (or can be too ancient to properly support it), we shall respect such builds. This patch extends configure.json with a 'dtls' test and adds protection against linkage/compile-time issues in the QtNetwork's code. Change-Id: I0c0dd94f5c226115cee4285b82c83aa546555aea Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/network/ssl/qsslconfiguration.cpp')
-rw-r--r--src/network/ssl/qsslconfiguration.cpp48
1 files changed, 26 insertions, 22 deletions
diff --git a/src/network/ssl/qsslconfiguration.cpp b/src/network/ssl/qsslconfiguration.cpp
index 71c4f7090c..12fbb9a8e4 100644
--- a/src/network/ssl/qsslconfiguration.cpp
+++ b/src/network/ssl/qsslconfiguration.cpp
@@ -227,7 +227,8 @@ bool QSslConfiguration::operator==(const QSslConfiguration &other) const
d->sslSessionTicketLifeTimeHint == other.d->sslSessionTicketLifeTimeHint &&
d->nextAllowedProtocols == other.d->nextAllowedProtocols &&
d->nextNegotiatedProtocol == other.d->nextNegotiatedProtocol &&
- d->nextProtocolNegotiationStatus == other.d->nextProtocolNegotiationStatus;
+ d->nextProtocolNegotiationStatus == other.d->nextProtocolNegotiationStatus &&
+ d->dtlsCookieEnabled == other.d->dtlsCookieEnabled;
}
/*!
@@ -998,27 +999,6 @@ QSslConfiguration::NextProtocolNegotiationStatus QSslConfiguration::nextProtocol
}
/*!
- This function returns true if DTLS cookie verification was enabled on a
- server-side socket.
-
- \sa setDtlsCookieVerificationEnabled()
- */
-bool QSslConfiguration::dtlsCookieVerificationEnabled() const
-{
- return d->dtlsCookieEnabled;
-}
-
-/*!
- This function enables DTLS cookie verification when \a enable is true.
-
- \sa dtlsCookieVerificationEnabled()
- */
-void QSslConfiguration::setDtlsCookieVerificationEnabled(bool enable)
-{
- d->dtlsCookieEnabled = enable;
-}
-
-/*!
Returns the default SSL configuration to be used in new SSL
connections.
@@ -1051,6 +1031,29 @@ void QSslConfiguration::setDefaultConfiguration(const QSslConfiguration &configu
QSslConfigurationPrivate::setDefaultConfiguration(configuration);
}
+#if QT_CONFIG(dtls)
+
+/*!
+ This function returns true if DTLS cookie verification was enabled on a
+ server-side socket.
+
+ \sa setDtlsCookieVerificationEnabled()
+ */
+bool QSslConfiguration::dtlsCookieVerificationEnabled() const
+{
+ return d->dtlsCookieEnabled;
+}
+
+/*!
+ This function enables DTLS cookie verification when \a enable is true.
+
+ \sa dtlsCookieVerificationEnabled()
+ */
+void QSslConfiguration::setDtlsCookieVerificationEnabled(bool enable)
+{
+ d->dtlsCookieEnabled = enable;
+}
+
/*!
Returns the default DTLS configuration to be used in new DTLS
connections.
@@ -1085,6 +1088,7 @@ void QSslConfiguration::setDefaultDtlsConfiguration(const QSslConfiguration &con
QSslConfigurationPrivate::setDefaultDtlsConfiguration(configuration);
}
+#endif // dtls
/*! \internal
*/