diff options
author | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2018-06-25 16:30:36 +0200 |
---|---|---|
committer | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2018-07-13 04:50:38 +0000 |
commit | d74ced697e96cf89ad382ccc5f730f55df955c36 (patch) | |
tree | d21dd386b9b6a0d3cd8596332ce240a0a301930e /src/network/ssl/qsslconfiguration.cpp | |
parent | 58065cedf753032477487799845b4414a6476a39 (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.cpp | 48 |
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 */ |