summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjell Ahlstedt <kjellahlstedt@gmail.com>2021-11-24 17:20:26 +0100
committerKjell Ahlstedt <kjellahlstedt@gmail.com>2021-11-24 17:20:26 +0100
commit390747e89370f3028300a87585b85a5166c1e928 (patch)
treeeb4111c7b607e1fd00e166b27e02fdd39acb8585
parent7ca8945b48a87875d1a46bb5c2a2b45a570253d0 (diff)
downloadglibmm-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.ccg12
-rw-r--r--gio/src/socketclient.hg28
-rw-r--r--gio/src/tlsclientconnection.ccg12
-rw-r--r--gio/src/tlsclientconnection.hg27
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.")