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/qsslsocket_openssl_symbols_p.h | |
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/qsslsocket_openssl_symbols_p.h')
-rw-r--r-- | src/network/ssl/qsslsocket_openssl_symbols_p.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h index 551ad9f7b7..bfdfbf0efc 100644 --- a/src/network/ssl/qsslsocket_openssl_symbols_p.h +++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h @@ -533,6 +533,8 @@ void q_SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data, #endif #endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ... +#if QT_CONFIG(dtls) + extern "C" { typedef int (*CookieGenerateCallback)(SSL *, unsigned char *, unsigned *); @@ -543,12 +545,16 @@ void q_SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, CookieVerifyCallback cb); const SSL_METHOD *q_DTLS_server_method(); const SSL_METHOD *q_DTLS_client_method(); +#endif // dtls + void *q_X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx); int q_SSL_get_ex_data_X509_STORE_CTX_idx(); +#if QT_CONFIG(dtls) #define q_DTLS_set_link_mtu(ssl, mtu) q_SSL_ctrl((ssl), DTLS_CTRL_SET_LINK_MTU, (mtu), nullptr) #define q_DTLSv1_get_timeout(ssl, arg) q_SSL_ctrl(ssl, DTLS_CTRL_GET_TIMEOUT, 0, arg) #define q_DTLSv1_handle_timeout(ssl) q_SSL_ctrl(ssl, DTLS_CTRL_HANDLE_TIMEOUT, 0, nullptr) +#endif // dtls void q_BIO_set_flags(BIO *b, int flags); void q_BIO_clear_flags(BIO *b, int flags); |