[glibmm/glibmm-2-66] Gio::SocketClient, TlsClientConnection: Ignore some deprecations



commit 390747e89370f3028300a87585b85a5166c1e928
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Wed Nov 24 17:20:26 2021 +0100

    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.

 gio/src/socketclient.ccg        | 12 ++++++++++++
 gio/src/socketclient.hg         | 28 ++++++++++++++++++++++++++--
 gio/src/tlsclientconnection.ccg | 12 ++++++++++++
 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.")


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]