diff options
author | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2021-11-24 17:20:26 +0100 |
---|---|---|
committer | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2021-11-24 17:20:26 +0100 |
commit | 390747e89370f3028300a87585b85a5166c1e928 (patch) | |
tree | eb4111c7b607e1fd00e166b27e02fdd39acb8585 | |
parent | 7ca8945b48a87875d1a46bb5c2a2b45a570253d0 (diff) | |
download | glibmm-390747e89370f3028300a87585b85a5166c1e928.tar.gz |
Gio::SocketClient, TlsClientConnection: Ignore some deprecations
g_socket_client_[set,get]_tls_validation_flags() and
g_tls_client_connection_[set,get]_validation_flags() are deprecated in
glib 2.72. They can't be deprecated in glibmm 2.66. Ignore the deprecations,
so it will still be possible to compile with warnings=fatal.
-rw-r--r-- | gio/src/socketclient.ccg | 12 | ||||
-rw-r--r-- | gio/src/socketclient.hg | 28 | ||||
-rw-r--r-- | gio/src/tlsclientconnection.ccg | 12 | ||||
-rw-r--r-- | gio/src/tlsclientconnection.hg | 27 |
4 files changed, 75 insertions, 4 deletions
diff --git a/gio/src/socketclient.ccg b/gio/src/socketclient.ccg index 8f17c65d..f3592421 100644 --- a/gio/src/socketclient.ccg +++ b/gio/src/socketclient.ccg @@ -125,4 +125,16 @@ SocketClient::connect_to_uri_async( gobj(), uri.c_str(), default_port, nullptr, &SignalProxy_async_callback, slot_copy); } +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +TlsCertificateFlags SocketClient::get_tls_validation_flags() const +{ + return ((TlsCertificateFlags)(g_socket_client_get_tls_validation_flags(const_cast<GSocketClient*>(gobj())))); +} + +void SocketClient::set_tls_validation_flags(TlsCertificateFlags flags) +{ + g_socket_client_set_tls_validation_flags(gobj(), ((GTlsCertificateFlags)(flags))); +} +G_GNUC_END_IGNORE_DEPRECATIONS + } // namespace Gio diff --git a/gio/src/socketclient.hg b/gio/src/socketclient.hg index 169a2751..b48bfd05 100644 --- a/gio/src/socketclient.hg +++ b/gio/src/socketclient.hg @@ -145,8 +145,32 @@ public: _WRAP_METHOD(bool get_tls() const, g_socket_client_get_tls) _WRAP_METHOD(void set_tls(bool tls = true), g_socket_client_set_tls) - _WRAP_METHOD(TlsCertificateFlags get_tls_validation_flags() const, g_socket_client_get_tls_validation_flags) - _WRAP_METHOD(void set_tls_validation_flags(TlsCertificateFlags flags), g_socket_client_set_tls_validation_flags) + + // g_socket_client_get/set_tls_validation_flags() are deprecated in glib 2.72. + /** Gets the TLS validation flags used creating TLS connections via + * this socket client. + * + * This function does not work as originally designed and is impossible + * to use correctly. + * + * @newin{2,28} + * + * @return The TLS validation flags. + */ + TlsCertificateFlags get_tls_validation_flags() const; + + /** Sets the TLS validation flags used when creating TLS connections + * via this socket client. The default value is Gio::TLS_CERTIFICATE_VALIDATE_ALL. + * + * This function does not work as originally designed and is impossible + * to use correctly. + * + * @newin{2,28} + * + * @param flags The validation flags. + */ + void set_tls_validation_flags(TlsCertificateFlags flags); + _IGNORE(g_socket_client_get_tls_validation_flags, g_socket_client_set_tls_validation_flags) _WRAP_METHOD(Glib::RefPtr<ProxyResolver> get_proxy_resolver(), g_socket_client_get_proxy_resolver, refreturn) _WRAP_METHOD(Glib::RefPtr<const ProxyResolver> get_proxy_resolver() const, g_socket_client_get_proxy_resolver, refreturn, constversion) diff --git a/gio/src/tlsclientconnection.ccg b/gio/src/tlsclientconnection.ccg index c2785a42..f19dc7f4 100644 --- a/gio/src/tlsclientconnection.ccg +++ b/gio/src/tlsclientconnection.ccg @@ -25,4 +25,16 @@ TlsClientConnection::TlsClientConnection(GTlsClientConnection* castitem) { } +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +void TlsClientConnection::set_validation_flags(TlsCertificateFlags flags) +{ + g_tls_client_connection_set_validation_flags(gobj(), ((GTlsCertificateFlags)(flags))); +} + +TlsCertificateFlags TlsClientConnection::get_validation_flags() const +{ + return ((TlsCertificateFlags)(g_tls_client_connection_get_validation_flags(const_cast<GTlsClientConnection*>(gobj())))); +} +G_GNUC_END_IGNORE_DEPRECATIONS + } // namespace Gio diff --git a/gio/src/tlsclientconnection.hg b/gio/src/tlsclientconnection.hg index aa096e12..a8f63874 100644 --- a/gio/src/tlsclientconnection.hg +++ b/gio/src/tlsclientconnection.hg @@ -54,8 +54,31 @@ public: _WRAP_METHOD(Glib::RefPtr<SocketConnectable> get_server_identity(), g_tls_client_connection_get_server_identity, refreturn) _WRAP_METHOD(Glib::RefPtr<const SocketConnectable> get_server_identity() const, g_tls_client_connection_get_server_identity, constversion) - _WRAP_METHOD(void set_validation_flags(TlsCertificateFlags flags), g_tls_client_connection_set_validation_flags) - _WRAP_METHOD(TlsCertificateFlags get_validation_flags() const, g_tls_client_connection_get_validation_flags) + // g_tls_client_connection_set/get_validation_flags() are deprecated in glib 2.72. + /** Sets this client connection's validation flags, to override the default set of + * checks performed when validating a server certificate. By default, + * Gio::TLS_CERTIFICATE_VALIDATE_ALL is used. + * + * This function does not work as originally designed and is impossible + * to use correctly. + * + * @newin{2,28} + * + * @param flags The TlsCertificateFlags to use. + */ + void set_validation_flags(TlsCertificateFlags flags); + + /** Gets this client connection's validation flags + * + * This function does not work as originally designed and is impossible + * to use correctly. + * + * @newin{2,28} + * + * @return The validation flags. + */ + TlsCertificateFlags get_validation_flags() const; + _IGNORE(g_tls_client_connection_set_validation_flags, g_tls_client_connection_get_validation_flags) _WRAP_METHOD(void set_use_ssl3(bool use_ssl3 = true), g_tls_client_connection_set_use_ssl3, deprecated "SSL 3.0 is insecure, and this function does not generally enable or disable it, despite its name.") |