From 7436b2bc3c52141cf18602b2f392b79ed7bded75 Mon Sep 17 00:00:00 2001
From: Thilo Cestonaro <thilo@cestona.ro>
Date: Wed, 20 Jun 2012 09:58:24 +0200
Subject: Fix proxy selection

License: This patch is BSD-licensed, see http://www.opensource.org/licenses/bsd-license.php

diff --git a/Swiften/Client/CoreClient.cpp b/Swiften/Client/CoreClient.cpp
index 64c0bab..ea89c06 100644
--- a/Swiften/Client/CoreClient.cpp
+++ b/Swiften/Client/CoreClient.cpp
@@ -53,7 +53,7 @@ CoreClient::~CoreClient() {
 }
 
 void CoreClient::connect(const ClientOptions& o) {
-	SWIFT_LOG(debug) << "Connecting" << std::endl;
+	SWIFT_LOG(debug) << "Connecting ";
 
 	forceReset();
 	disconnectRequested_ = false;
@@ -68,25 +68,33 @@ void CoreClient::connect(const ClientOptions& o) {
 	HostAddressPort systemHTTPConnectProxy = networkFactories->getProxyProvider()->getHTTPConnectProxy();
 	switch (o.proxyType) {
 		case ClientOptions::NoProxy:
+			SWIFT_LOG(debug) << " without a proxy" << std::endl;
 			break;
 		case ClientOptions::SystemConfiguredProxy:
+			SWIFT_LOG(debug) << " with a system configured proxy" << std::endl;
 			if (systemSOCKS5Proxy.isValid()) {
-				proxyConnectionFactories.push_back(new SOCKS5ProxiedConnectionFactory(networkFactories->getDomainNameResolver(), networkFactories->getConnectionFactory(), networkFactories->getTimerFactory(), systemSOCKS5Proxy.getAddress().toString(), systemHTTPConnectProxy.getPort()));
+				SWIFT_LOG(debug) << "Found SOCK5 Proxy: " << systemSOCKS5Proxy.getAddress().toString() << ":" << systemHTTPConnectProxy.getPort() << std::endl;
+				proxyConnectionFactories.push_back(new SOCKS5ProxiedConnectionFactory(networkFactories->getDomainNameResolver(), networkFactories->getConnectionFactory(), networkFactories->getTimerFactory(), systemSOCKS5Proxy.getAddress().toString(), systemSOCKS5Proxy.getPort()));
 			}
 			if (systemHTTPConnectProxy.isValid()) {
+				SWIFT_LOG(debug) << "Found HTTPConnect Proxy: " << systemHTTPConnectProxy.getAddress().toString() << ":" << systemHTTPConnectProxy.getPort() << std::endl;
 				proxyConnectionFactories.push_back(new HTTPConnectProxiedConnectionFactory(networkFactories->getDomainNameResolver(), networkFactories->getConnectionFactory(), networkFactories->getTimerFactory(), systemHTTPConnectProxy.getAddress().toString(), systemHTTPConnectProxy.getPort()));
 			}
 			break;
 		case ClientOptions::SOCKS5Proxy: {
+			SWIFT_LOG(debug) << " with manual configured SOCKS5 proxy" << std::endl;
 			std::string proxyHostname = o.manualProxyHostname.empty() ? systemSOCKS5Proxy.getAddress().toString() : o.manualProxyHostname;
 			int proxyPort = o.manualProxyPort == -1 ? systemSOCKS5Proxy.getPort() : o.manualProxyPort;
+			SWIFT_LOG(debug) << "Proxy: " << proxyHostname << ":" << proxyPort << std::endl;
 			proxyConnectionFactories.push_back(new SOCKS5ProxiedConnectionFactory(networkFactories->getDomainNameResolver(), networkFactories->getConnectionFactory(), networkFactories->getTimerFactory(), proxyHostname, proxyPort));
 			useDirectConnection = false;
 			break;
 		}
 		case ClientOptions::HTTPConnectProxy: {
-			std::string proxyHostname = o.manualProxyHostname.empty() ? systemSOCKS5Proxy.getAddress().toString() : o.manualProxyHostname;
-			int proxyPort = o.manualProxyPort == -1 ? systemSOCKS5Proxy.getPort() : o.manualProxyPort;
+			SWIFT_LOG(debug) << " with manual configured HTTPConnect proxy" << std::endl;
+			std::string proxyHostname = o.manualProxyHostname.empty() ? systemHTTPConnectProxy.getAddress().toString() : o.manualProxyHostname;
+			int proxyPort = o.manualProxyPort == -1 ? systemHTTPConnectProxy.getPort() : o.manualProxyPort;
+			SWIFT_LOG(debug) << "Proxy: " << proxyHostname << ":" << proxyPort << std::endl;
 			proxyConnectionFactories.push_back(new HTTPConnectProxiedConnectionFactory(networkFactories->getDomainNameResolver(), networkFactories->getConnectionFactory(), networkFactories->getTimerFactory(), proxyHostname, proxyPort));
 			useDirectConnection = false;
 			break;
-- 
cgit v0.10.2-6-g49f6