/pidgin/main: 39fca28f1a6e: proxy: Use new purple_gio_socket_cli...

Mike Ruprecht <[email protected]> Sun, 28 Aug 2016 23:58:01 -0400
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: 39fca28f1a6eaec0c63e2acbb0d15fb0e679e939
Author:	 Mike Ruprecht <[email protected]>
Date:	 2016-08-27 18:37 -0500
Branch:	 default
URL: https://hg.pidgin.im/pidgin/main/rev/39fca28f1a6e

Description:

proxy: Use new purple_gio_socket_client_new() helper function

diffstat:

 libpurple/proxy.c |  38 +++++++++++++++++++-------------------
 1 files changed, 19 insertions(+), 19 deletions(-)

diffs (92 lines):

diff --git a/libpurple/proxy.c b/libpurple/proxy.c
--- a/libpurple/proxy.c
+++ b/libpurple/proxy.c
@@ -34,6 +34,7 @@
 #include "ntlm.h"
 #include "prefs.h"
 #include "proxy.h"
+#include "purple-gio.h"
 #include "util.h"
 
 #include <gio/gio.h>
@@ -759,8 +760,8 @@ purple_proxy_connect(void *handle, Purpl
 				   PurpleProxyConnectFunction connect_cb, gpointer data)
 {
 	PurpleProxyConnectData *connect_data;
-	GProxyResolver *resolver;
 	GSocketClient *client;
+	GError *error = NULL;
 
 	g_return_val_if_fail(host       != NULL, NULL);
 	g_return_val_if_fail(port       >  0,    NULL);
@@ -775,20 +776,21 @@ purple_proxy_connect(void *handle, Purpl
 	connect_data->port = port;
 	connect_data->gpi = purple_proxy_get_setup(account);
 
-	resolver = purple_proxy_get_proxy_resolver(account);
+	client = purple_gio_socket_client_new(account, &error);
 
-	if (resolver == NULL) {
-		/* purple_proxy_get_proxy_resolver already has debug output */
+	if (client == NULL) {
+		/* Assume it's a proxy error */
+		purple_notify_error(NULL, NULL, _("Invalid proxy settings"),
+			error->message,
+			purple_request_cpar_from_account(account));
+		g_clear_error(&error);
+
 		purple_proxy_connect_data_destroy(connect_data);
 		return NULL;
 	}
 
 	connect_data->cancellable = g_cancellable_new();
 
-	client = g_socket_client_new();
-	g_socket_client_set_proxy_resolver(client, resolver);
-	g_object_unref(resolver);
-
 	purple_debug_info("proxy", "Attempting connection to %s:%u\n",
 			host, port);
 
@@ -951,8 +953,8 @@ purple_proxy_connect_socks5_account(void
 						  gpointer data)
 {
 	PurpleProxyConnectData *connect_data;
-	GProxyResolver *resolver;
 	GSocketClient *client;
+	GError *error = NULL;
 
 	g_return_val_if_fail(host       != NULL, NULL);
 	g_return_val_if_fail(port       >= 0,    NULL);
@@ -967,23 +969,21 @@ purple_proxy_connect_socks5_account(void
 	connect_data->port = port;
 	connect_data->gpi = gpi;
 
-	/* If there is an account proxy, use it to connect to the desired SOCKS5
-	 * proxy.
-	 */
-	resolver = purple_proxy_get_proxy_resolver(account);
+	client = purple_gio_socket_client_new(account, &error);
 
-	if (resolver == NULL) {
-		/* purple_proxy_get_proxy_resolver already has debug output */
+	if (client == NULL) {
+		/* Assume it's a proxy error */
+		purple_notify_error(NULL, NULL, _("Invalid proxy settings"),
+			error->message,
+			purple_request_cpar_from_account(account));
+		g_clear_error(&error);
+
 		purple_proxy_connect_data_destroy(connect_data);
 		return NULL;
 	}
 
 	connect_data->cancellable = g_cancellable_new();
 
-	client = g_socket_client_new();
-	g_socket_client_set_proxy_resolver(client, resolver);
-	g_object_unref(resolver);
-
 	purple_debug_info("proxy",
 			   "Connecting to %s:%d via %s:%d using SOCKS5\n",
 			   connect_data->host, connect_data->port,

_______________________________________________
Commits mailing list
[email protected]
https://pidgin.im/cgi-bin/mailman/listinfo/commits