summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarun Gupta <tarun1995gupta@gmail.com>2015-07-27 15:01:45 (GMT)
committerAlex Clayton <alex.clayton@isode.com>2016-01-12 11:31:04 (GMT)
commitb4cf2bb8d7b69d95b4a10d610ad259998d2aee5b (patch)
treeb942953236a7c712eed6ce4a5f261019691c0dca /src/com/isode/stroke/client
parentc168fcd0c2468ec939b8d164175e9c5776a63147 (diff)
downloadstroke-b4cf2bb8d7b69d95b4a10d610ad259998d2aee5b.zip
stroke-b4cf2bb8d7b69d95b4a10d610ad259998d2aee5b.tar.bz2
Make Networks equivalent with Swiften.
Adds ProxyProviders, DomainNameResolvers and DummyConnection. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for ChainedConnector, Connector and HostAddress. Test also added for ComponentConnector, which needed bits of Network. Five assertions are commented in ConnectorTest, which fails and will be updated after review. Change-Id: I8a62841eb2f9c109bc3a94865b7a003b33493e11
Diffstat (limited to 'src/com/isode/stroke/client')
-rw-r--r--src/com/isode/stroke/client/ClientOptions.java3
-rw-r--r--src/com/isode/stroke/client/CoreClient.java26
2 files changed, 15 insertions, 14 deletions
diff --git a/src/com/isode/stroke/client/ClientOptions.java b/src/com/isode/stroke/client/ClientOptions.java
index c2d9e3f..723b12e 100644
--- a/src/com/isode/stroke/client/ClientOptions.java
+++ b/src/com/isode/stroke/client/ClientOptions.java
@@ -12,6 +12,7 @@ package com.isode.stroke.client;
import com.isode.stroke.tls.TLSOptions;
import com.isode.stroke.base.URL;
import com.isode.stroke.base.SafeByteArray;
+import com.isode.stroke.network.HTTPTrafficFilter;
/**
* Options for a client connection
@@ -119,7 +120,7 @@ public class ClientOptions {
* This can be initialized with a custom HTTPTrafficFilter, which allows HTTP CONNECT
* proxy initialization to be customized.
*/
- //public HTTPTrafficFilter httpTrafficFilter; //TOPORT NETWORK
+ public HTTPTrafficFilter httpTrafficFilter;
/**
* Options passed to the TLS stack
diff --git a/src/com/isode/stroke/client/CoreClient.java b/src/com/isode/stroke/client/CoreClient.java
index 2fc10ae..010a535 100644
--- a/src/com/isode/stroke/client/CoreClient.java
+++ b/src/com/isode/stroke/client/CoreClient.java
@@ -18,6 +18,9 @@ import com.isode.stroke.network.ConnectionFactory;
import com.isode.stroke.network.Connector;
import com.isode.stroke.network.DomainNameResolveError;
import com.isode.stroke.network.NetworkFactories;
+import com.isode.stroke.network.HostAddressPort;
+import com.isode.stroke.network.SOCKS5ProxiedConnectionFactory;
+import com.isode.stroke.network.HTTPConnectProxiedConnectionFactory;
import com.isode.stroke.parser.payloadparsers.FullPayloadParserFactoryCollection;
import com.isode.stroke.queries.IQRouter;
import com.isode.stroke.serializer.payloadserializers.FullPayloadSerializerCollection;
@@ -201,17 +204,16 @@ public class CoreClient {
assert (connector_ == null);
options = o;
- //TO PORT
- /*// Determine connection types to use
+ // Determine connection types to use
assert(proxyConnectionFactories.isEmpty());
boolean useDirectConnection = true;
HostAddressPort systemSOCKS5Proxy = networkFactories.getProxyProvider().getSOCKS5Proxy();
HostAddressPort systemHTTPConnectProxy = networkFactories.getProxyProvider().getHTTPConnectProxy();
switch (o.proxyType) {
- case ClientOptions.ProxyType.NoProxy:
+ case NoProxy:
logger_.fine(" without a proxy\n");
break;
- case ClientOptions.ProxyType.SystemConfiguredProxy:
+ case SystemConfiguredProxy:
logger_.fine(" with a system configured proxy\n");
if (systemSOCKS5Proxy.isValid()) {
logger_.fine("Found SOCK5 Proxy: " + systemSOCKS5Proxy.getAddress().toString() + ":" + systemSOCKS5Proxy.getPort() + "\n");
@@ -222,20 +224,20 @@ public class CoreClient {
proxyConnectionFactories.add(new HTTPConnectProxiedConnectionFactory(networkFactories.getDomainNameResolver(), networkFactories.getConnectionFactory(), networkFactories.getTimerFactory(), systemHTTPConnectProxy.getAddress().toString(), systemHTTPConnectProxy.getPort()));
}
break;
- case ClientOptions.ProxyType.SOCKS5Proxy: {
+ case SOCKS5Proxy: {
logger_.fine(" with manual configured SOCKS5 proxy\n");
- String proxyHostname = o.manualProxyHostname.empty() ? systemSOCKS5Proxy.getAddress().toString() : o.manualProxyHostname;
+ String proxyHostname = o.manualProxyHostname.isEmpty() ? systemSOCKS5Proxy.getAddress().toString() : o.manualProxyHostname;
int proxyPort = o.manualProxyPort == -1 ? systemSOCKS5Proxy.getPort() : o.manualProxyPort;
logger_.fine("Proxy: " + proxyHostname + ":" + proxyPort + "\n");
proxyConnectionFactories.add(new SOCKS5ProxiedConnectionFactory(networkFactories.getDomainNameResolver(), networkFactories.getConnectionFactory(), networkFactories.getTimerFactory(), proxyHostname, proxyPort));
useDirectConnection = false;
break;
}
- case ClientOptions.ProxyType.HTTPConnectProxy: {
+ case HTTPConnectProxy: {
logger_.fine(" with manual configured HTTPConnect proxy\n");
- std::string proxyHostname = o.manualProxyHostname.empty() ? systemHTTPConnectProxy.getAddress().toString() : o.manualProxyHostname;
+ String proxyHostname = o.manualProxyHostname.isEmpty() ? systemHTTPConnectProxy.getAddress().toString() : o.manualProxyHostname;
int proxyPort = o.manualProxyPort == -1 ? systemHTTPConnectProxy.getPort() : o.manualProxyPort;
- logger_.fine("Proxy: " + proxyHostname + ":" << proxyPort + "\n");
+ logger_.fine("Proxy: " + proxyHostname + ":" + proxyPort + "\n");
proxyConnectionFactories.add(new HTTPConnectProxiedConnectionFactory(networkFactories.getDomainNameResolver(), networkFactories.getConnectionFactory(), networkFactories.getTimerFactory(), proxyHostname, proxyPort, o.httpTrafficFilter));
useDirectConnection = false;
break;
@@ -244,7 +246,7 @@ public class CoreClient {
Vector<ConnectionFactory> connectionFactories = new Vector<ConnectionFactory>(proxyConnectionFactories);
if (useDirectConnection) {
connectionFactories.add(networkFactories.getConnectionFactory());
- }*/
+ }
String host = (o.manualHostname == null || o.manualHostname.isEmpty()) ? jid_.getDomain() : o.manualHostname;
int port = o.manualPort;
@@ -292,9 +294,7 @@ public class CoreClient {
}
private void bindSessionToStream() {
- //TO PORT
- //session_ = ClientSession::create(jid_, sessionStream_, networkFactories.getIDNConverter(), networkFactories.getCryptoProvider());
- session_ = ClientSession.create(jid_, sessionStream_, new ICUConverter(), new JavaCryptoProvider());
+ session_ = ClientSession.create(jid_, sessionStream_, networkFactories.getIDNConverter(), networkFactories.getCryptoProvider());
session_.setCertificateTrustChecker(certificateTrustChecker);
session_.setUseStreamCompression(options.useStreamCompression);
session_.setAllowPLAINOverNonTLS(options.allowPLAINWithoutTLS);