Wed, 09 Oct 2019 03:34:56 -0400
Change XMPP http connection set to a SoupSession.
--- a/libpurple/protocols/jabber/jabber.c Wed Oct 02 00:01:17 2019 -0400 +++ b/libpurple/protocols/jabber/jabber.c Wed Oct 09 03:34:56 2019 -0400 @@ -954,16 +954,28 @@ jabber_stream_new(PurpleAccount *account) { PurpleConnection *gc = purple_account_get_connection(account); + GProxyResolver *resolver; + GError *error; JabberStream *js; PurplePresence *presence; gchar *user; gchar *slash; + resolver = purple_proxy_get_proxy_resolver(account, &error); + if (resolver == NULL) { + purple_debug_error("jabber", "Unable to get account proxy resolver: %s", + error->message); + g_error_free(error); + return NULL; + } + js = g_new0(JabberStream, 1); purple_connection_set_protocol_data(gc, js); js->gc = gc; js->fd = -1; - js->http_conns = purple_http_connection_set_new(); + js->http_conns = soup_session_new_with_options(SOUP_SESSION_PROXY_RESOLVER, + resolver, NULL); + g_object_unref(resolver); /* we might want to expose this at some point */ js->cancellable = g_cancellable_new(); @@ -1681,7 +1693,10 @@ js->bs_proxies = g_list_delete_link(js->bs_proxies, js->bs_proxies); } - purple_http_connection_set_destroy(js->http_conns); + if (js->http_conns) { + soup_session_abort(js->http_conns); + g_object_unref(js->http_conns); + } g_free(js->stream_id); if(js->user)
--- a/libpurple/protocols/jabber/jabber.h Wed Oct 02 00:01:17 2019 -0400 +++ b/libpurple/protocols/jabber/jabber.h Wed Oct 09 03:34:56 2019 -0400 @@ -59,6 +59,7 @@ #include <glib.h> #include <gmodule.h> #include <gio/gio.h> +#include <libsoup/soup.h> #include "attention.h" #include "circularbuffer.h" @@ -278,7 +279,7 @@ PurpleJabberBOSHConnection *bosh; - PurpleHttpConnectionSet *http_conns; + SoupSession *http_conns; /* keep a hash table of JingleSessions */ GHashTable *sessions;
--- a/libpurple/protocols/jabber/tests/meson.build Wed Oct 02 00:01:17 2019 -0400 +++ b/libpurple/protocols/jabber/tests/meson.build Wed Oct 09 03:34:56 2019 -0400 @@ -2,7 +2,7 @@ e = executable( 'test_jabber_' + prog, 'test_jabber_@0@.c'.format(prog), link_with : [jabber_prpl], - dependencies : [libxml, libpurple_dep, glib]) + dependencies : [libxml, libpurple_dep, libsoup, glib]) test('jabber_' + prog, e) endforeach