diff options
author | Carlos Garcia Campos <cgarcia@igalia.com> | 2021-02-18 15:21:04 +0100 |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@gnome.org> | 2021-02-19 09:05:28 +0000 |
commit | f813d3d82ec4366b5349fc42eca4e1fbb2a332c5 (patch) | |
tree | 298f666136e0c22fae9395c37864eb843e5c7d5e /libsoup/soup-socket-properties.c | |
parent | cffdb45ad8cc9ef91089a3a9cd7eb1bbdb2b020b (diff) | |
download | libsoup-f813d3d82ec4366b5349fc42eca4e1fbb2a332c5.tar.gz |
session: Remove ssl-use-system-ca-file property
SoupSession:tls-database is enough. When not set the default will be
used. Also ensure that we don't get the default tls database and proxy
resolver unless the property getters are called.
Diffstat (limited to 'libsoup/soup-socket-properties.c')
-rw-r--r-- | libsoup/soup-socket-properties.c | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/libsoup/soup-socket-properties.c b/libsoup/soup-socket-properties.c index 5ceecd76..c41948c9 100644 --- a/libsoup/soup-socket-properties.c +++ b/libsoup/soup-socket-properties.c @@ -11,23 +11,21 @@ #include "soup.h" SoupSocketProperties * -soup_socket_properties_new (GProxyResolver *proxy_resolver, - GInetSocketAddress *local_addr, - GTlsDatabase *tlsdb, +soup_socket_properties_new (GInetSocketAddress *local_addr, GTlsInteraction *tls_interaction, guint io_timeout, guint idle_timeout) { SoupSocketProperties *props; - props = g_slice_new (SoupSocketProperties); + props = g_slice_new0 (SoupSocketProperties); g_atomic_ref_count_init (&props->ref_count); - props->proxy_resolver = proxy_resolver ? g_object_ref (proxy_resolver) : NULL; - props->local_addr = local_addr ? g_object_ref (local_addr) : NULL; + props->proxy_use_default = TRUE; + props->tlsdb_use_default = TRUE; - props->tlsdb = tlsdb ? g_object_ref (tlsdb) : NULL; + props->local_addr = local_addr ? g_object_ref (local_addr) : NULL; props->tls_interaction = tls_interaction ? g_object_ref (tls_interaction) : NULL; props->io_timeout = io_timeout; @@ -57,5 +55,30 @@ soup_socket_properties_unref (SoupSocketProperties *props) g_slice_free (SoupSocketProperties, props); } +void +soup_socket_properties_set_proxy_resolver (SoupSocketProperties *props, + GProxyResolver *proxy_resolver) +{ + props->proxy_use_default = FALSE; + + if (props->proxy_resolver == proxy_resolver) + return; + + g_clear_object (&props->proxy_resolver); + props->proxy_resolver = proxy_resolver ? g_object_ref (proxy_resolver) : NULL; +} + +void +soup_socket_properties_set_tls_database (SoupSocketProperties *props, + GTlsDatabase *tlsdb) +{ + props->tlsdb_use_default = FALSE; + + if (props->tlsdb == tlsdb) + return; + + g_clear_object (&props->tlsdb); + props->tlsdb = tlsdb ? g_object_ref (tlsdb) : NULL; +} G_DEFINE_BOXED_TYPE (SoupSocketProperties, soup_socket_properties, soup_socket_properties_ref, soup_socket_properties_unref) |