Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2015-09-10 21:06:07 +0000
committerslewis2015-09-10 21:06:07 +0000
commit05291eface2d7737e48fd9d8ced57a86c98bcf4f (patch)
treeab558237de8bee9d8cafca9359d84c54d42fdd3b /providers/bundles
parent1ccb057b6c90fed08030321bcd6cad22aca9085e (diff)
downloadorg.eclipse.ecf-05291eface2d7737e48fd9d8ced57a86c98bcf4f.tar.gz
org.eclipse.ecf-05291eface2d7737e48fd9d8ced57a86c98bcf4f.tar.xz
org.eclipse.ecf-05291eface2d7737e48fd9d8ced57a86c98bcf4f.zip
Application of patch
https://bugs.eclipse.org/bugs/attachment.cgi?id=255750 from bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=471325 Change-Id: I475940eea8730020da8023591667288406aeb23c
Diffstat (limited to 'providers/bundles')
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientBrowseFileTransferFactory.java20
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientRetrieveFileTransferFactory.java14
2 files changed, 32 insertions, 2 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientBrowseFileTransferFactory.java b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientBrowseFileTransferFactory.java
index ea022ba21..6f287eaaa 100644
--- a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientBrowseFileTransferFactory.java
+++ b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientBrowseFileTransferFactory.java
@@ -13,7 +13,14 @@ package org.eclipse.ecf.provider.filetransfer.httpclient4;
import java.net.MalformedURLException;
import java.net.URL;
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.scheme.PlainSocketFactory;
+import org.apache.http.conn.scheme.Scheme;
+import org.apache.http.conn.scheme.SchemeRegistry;
+import org.apache.http.conn.ssl.SSLContexts;
+import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.conn.BasicClientConnectionManager;
import org.eclipse.core.runtime.Assert;
import org.eclipse.ecf.core.identity.IDFactory;
import org.eclipse.ecf.core.identity.Namespace;
@@ -50,7 +57,18 @@ public class HttpClientBrowseFileTransferFactory implements IRemoteFileSystemBro
throw new RemoteFileSystemException(NLS.bind("Exception creating URL for {0}", directoryOrFileId)); //$NON-NLS-1$
}
- HttpClientFileSystemBrowser browser = new HttpClientFileSystemBrowser(new DefaultHttpClient(), directoryOrFileId, listener, url, connectContext, proxy);
+ HttpClientFileSystemBrowser browser = new HttpClientFileSystemBrowser(new DefaultHttpClient() {
+ @Override
+ protected ClientConnectionManager createClientConnectionManager() {
+ SSLSocketFactory factory = new SSLSocketFactory(SSLContexts.createSystemDefault(), SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
+
+ final SchemeRegistry registry = new SchemeRegistry();
+ registry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
+ registry.register(new Scheme("https", 443, factory));
+
+ return new BasicClientConnectionManager(registry);
+ }
+ }, directoryOrFileId, listener, url, connectContext, proxy);
return browser.sendBrowseRequest();
}
diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientRetrieveFileTransferFactory.java b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientRetrieveFileTransferFactory.java
index 54150e74d..27276aa20 100644
--- a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientRetrieveFileTransferFactory.java
+++ b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientRetrieveFileTransferFactory.java
@@ -11,6 +11,11 @@
*****************************************************************************/
package org.eclipse.ecf.provider.filetransfer.httpclient4;
+import org.apache.http.conn.scheme.PlainSocketFactory;
+import org.apache.http.conn.scheme.Scheme;
+import org.apache.http.conn.scheme.SchemeRegistry;
+import org.apache.http.conn.ssl.SSLContexts;
+import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.SingleClientConnManager;
import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransfer;
@@ -19,6 +24,13 @@ import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory;
public class HttpClientRetrieveFileTransferFactory implements IRetrieveFileTransferFactory {
public IRetrieveFileTransfer newInstance() {
- return new HttpClientRetrieveFileTransfer(new DefaultHttpClient(new SingleClientConnManager()));
+
+ SSLSocketFactory factory = new SSLSocketFactory(SSLContexts.createSystemDefault(), SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
+
+ final SchemeRegistry registry = new SchemeRegistry();
+ registry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
+ registry.register(new Scheme("https", 443, factory));
+
+ return new HttpClientRetrieveFileTransfer(new DefaultHttpClient(new SingleClientConnManager(registry)));
}
}

Back to the top