/pidgin/main: a67be31f9c7e: Use the GResolver which was passed t...
Mike Ruprecht <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: a67be31f9c7eeb7dd84b8d6406035ac183d7d9bb Author: Mike Ruprecht <[email protected]> Date: 2016-01-07 20:12 -0600 Branch: default URL: https://hg.pidgin.im/pidgin/main/rev/a67be31f9c7e Description: Use the GResolver which was passed to g_resolver_lookup_*_async() Using the GResolver passed to the g_resolver_lookup_*_async() function avoids the potential problem of the default resolver changing between the *_async() and *_finish() functions. diffstat: libpurple/network.c | 3 ++- libpurple/protocols/gg/resolver-purple.c | 3 ++- libpurple/protocols/jabber/disco.c | 3 ++- libpurple/protocols/jabber/google/jingleinfo.c | 3 ++- libpurple/protocols/jabber/jabber.c | 6 ++++-- libpurple/protocols/simple/simple.c | 6 ++++-- libpurple/protocols/yahoo/yahoo_filexfer.c | 3 ++- libpurple/proxy.c | 10 ++++------ libpurple/stun.c | 6 ++++-- 9 files changed, 26 insertions(+), 17 deletions(-) diffs (168 lines): diff --git a/libpurple/network.c b/libpurple/network.c --- a/libpurple/network.c +++ b/libpurple/network.c @@ -577,7 +577,8 @@ purple_network_ip_lookup_cb(GObject *sen GInetAddress *address = NULL; const gchar **ip_address = (const gchar **)data; - addresses = g_resolver_lookup_by_name_finish(g_resolver_get_default(), result, &error); + addresses = g_resolver_lookup_by_name_finish(G_RESOLVER(sender), + result, &error); if(error) { purple_debug_info("network", "lookup of IP address failed: %s\n", error->message); diff --git a/libpurple/protocols/gg/resolver-purple.c b/libpurple/protocols/gg/resolver-purple.c --- a/libpurple/protocols/gg/resolver-purple.c +++ b/libpurple/protocols/gg/resolver-purple.c @@ -72,7 +72,8 @@ void ggp_resolver_purple_cb(GObject *sen ggp_resolver_purple_data *data = (ggp_resolver_purple_data*)cbdata; const int fd = data->pipes[1]; - addresses = g_resolver_lookup_by_name_finish(g_resolver_get_default(), res, &error); + addresses = g_resolver_lookup_by_name_finish(G_RESOLVER(sender), + res, &error); if(addresses == NULL) { purple_debug_error("gg", "ggp_resolver_purple_cb failed: %s\n", error->message); diff --git a/libpurple/protocols/jabber/disco.c b/libpurple/protocols/jabber/disco.c --- a/libpurple/protocols/jabber/disco.c +++ b/libpurple/protocols/jabber/disco.c @@ -426,7 +426,8 @@ jabber_disco_stun_srv_resolve_cb(GObject JabberStream *js = (JabberStream *) data; gint results = 0; - services = g_resolver_lookup_service_finish(g_resolver_get_default(), result, &error); + services = g_resolver_lookup_service_finish(G_RESOLVER(sender), + result, &error); if(error != NULL) { purple_debug_info("jabber", "Failed to look up a STUN record : %s\n", error->message); diff --git a/libpurple/protocols/jabber/google/jingleinfo.c b/libpurple/protocols/jabber/google/jingleinfo.c --- a/libpurple/protocols/jabber/google/jingleinfo.c +++ b/libpurple/protocols/jabber/google/jingleinfo.c @@ -30,7 +30,8 @@ jabber_google_stun_lookup_cb(GObject *se GList *addresses = NULL; JabberStream *js = (JabberStream *) data; - addresses = g_resolver_lookup_by_name_finish(g_resolver_get_default(), result, &error); + addresses = g_resolver_lookup_by_name_finish(G_RESOLVER(sender), + result, &error); if(error) { purple_debug_error("jabber", "Google STUN lookup failed: %s\n", diff --git a/libpurple/protocols/jabber/jabber.c b/libpurple/protocols/jabber/jabber.c --- a/libpurple/protocols/jabber/jabber.c +++ b/libpurple/protocols/jabber/jabber.c @@ -763,7 +763,8 @@ txt_resolved_cb(GObject *sender, GAsyncR JabberStream *js = data; gboolean found = FALSE; - records = g_resolver_lookup_records_finish(g_resolver_get_default(), result, &error); + records = g_resolver_lookup_records_finish(G_RESOLVER(sender), + result, &error); if(error) { purple_debug_warning("jabber", "Unable to find alternative XMPP connection " "methods after failing to connect directly. : %s\n", @@ -907,7 +908,8 @@ srv_resolved_cb(GObject *sender, GAsyncR GList *targets = NULL, *l = NULL; JabberStream *js = data; - targets = g_resolver_lookup_service_finish(g_resolver_get_default(), result, &error); + targets = g_resolver_lookup_service_finish(G_RESOLVER(sender), + result, &error); if(error) { purple_debug_warning("jabber", "SRV lookup failed, proceeding with normal connection : %s", diff --git a/libpurple/protocols/simple/simple.c b/libpurple/protocols/simple/simple.c --- a/libpurple/protocols/simple/simple.c +++ b/libpurple/protocols/simple/simple.c @@ -1807,7 +1807,8 @@ simple_udp_host_resolved(GObject *sender GSocketAddress *socket_address = NULL; struct simple_account_data *sip = (struct simple_account_data*) data; - addresses = g_resolver_lookup_by_name_finish(g_resolver_get_default(), result, &error); + addresses = g_resolver_lookup_by_name_finish(G_RESOLVER(sender), + result, &error); if(error) { gchar *msg = g_strdup_printf(_("Unable to resolve hostname : %s"), error->message); @@ -1885,7 +1886,8 @@ srvresolved(GObject *sender, GAsyncResul sip = data; - targets = g_resolver_lookup_service_finish(g_resolver_get_default(), result, &error); + targets = g_resolver_lookup_service_finish(G_RESOLVER(sender), + result, &error); if(error) { purple_debug_info("simple", "srv lookup failed, continuing with configured settings : %s", diff --git a/libpurple/protocols/yahoo/yahoo_filexfer.c b/libpurple/protocols/yahoo/yahoo_filexfer.c --- a/libpurple/protocols/yahoo/yahoo_filexfer.c +++ b/libpurple/protocols/yahoo/yahoo_filexfer.c @@ -521,7 +521,8 @@ yahoo_xfer_dns_connected_15(GObject *sen account = purple_connection_get_account(gc); yd = purple_connection_get_protocol_data(gc); - addresses = g_resolver_lookup_by_name_finish(g_resolver_get_default(), result, &error); + addresses = g_resolver_lookup_by_name_finish(G_RESOLVER(sender), + result, &error); if(error) { purple_debug_error("yahoo", "Unable to find an IP address for relay.msg.yahoo.com : %s\n", diff --git a/libpurple/proxy.c b/libpurple/proxy.c --- a/libpurple/proxy.c +++ b/libpurple/proxy.c @@ -1309,7 +1309,6 @@ s4_canread(gpointer data, gint source, P static void s4_host_resolved(GObject *source_object, GAsyncResult *res, gpointer data) { - GResolver *resolver = NULL; GInetAddress *address = NULL; GError *error = NULL; GList *hosts = NULL, *l = NULL; @@ -1322,10 +1321,8 @@ s4_host_resolved(GObject *source_object, connect_data->cancellable = NULL; } - resolver = g_resolver_get_default(); - - hosts = g_resolver_lookup_by_name_finish(resolver, res, &error); - g_object_unref(G_OBJECT(resolver)); + hosts = g_resolver_lookup_by_name_finish(G_RESOLVER(source_object), + res, &error); if (error->message != NULL) { purple_proxy_connect_data_disconnect(connect_data, error->message); @@ -2226,7 +2223,8 @@ connection_host_resolved(GObject *source GError *error = NULL; GList *addresses = NULL; - addresses = g_resolver_lookup_by_name_finish(g_resolver_get_default(), res, &error); + addresses = g_resolver_lookup_by_name_finish(G_RESOLVER(source), + res, &error); if(G_IS_CANCELLABLE(connect_data->cancellable)) { g_object_unref(G_OBJECT(connect_data->cancellable)); diff --git a/libpurple/stun.c b/libpurple/stun.c --- a/libpurple/stun.c +++ b/libpurple/stun.c @@ -351,7 +351,8 @@ hbn_cb(GObject *sender, GAsyncResult *re ld = g_new0(StunHBNListenData, 1); - ld->addresses = g_resolver_lookup_by_name_finish(g_resolver_get_default(), res, &error); + ld->addresses = g_resolver_lookup_by_name_finish(G_RESOLVER(sender), + res, &error); if(error != NULL) { nattype.status = PURPLE_STUN_STATUS_UNDISCOVERED; nattype.lookup_time = time(NULL); @@ -379,7 +380,8 @@ do_test1(GObject *sender, GAsyncResult * const char *servername = data; int port = 3478; - services = g_resolver_lookup_service_finish(g_resolver_get_default(), res, &error); + services = g_resolver_lookup_service_finish(G_RESOLVER(sender), + res, &error); if(error != NULL) { purple_debug_info("stun", "Failed to look up srv record : %s\n", error->message); _______________________________________________ Commits mailing list [email protected] https://pidgin.im/cgi-bin/mailman/listinfo/commits