[JCLOUDS-898] Allow insecure connection in Docker.

Original author was @andreaturli and the original patch was #172.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/586e3180
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/586e3180
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/586e3180

Branch: refs/heads/master
Commit: 586e31805ad710169b29303028289f6ad396725d
Parents: 55a7d8c
Author: Ignasi Barrera <[email protected]>
Authored: Fri Aug 14 10:44:06 2015 +0200
Committer: Ignasi Barrera <[email protected]>
Committed: Fri Aug 14 10:56:07 2015 +0200

----------------------------------------------------------------------
 .../docker/config/DockerOkHttpClientSupplier.java     | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/586e3180/apis/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java
----------------------------------------------------------------------
diff --git 
a/apis/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java
 
b/apis/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java
index 6bc171f..f9278f0 100644
--- 
a/apis/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java
+++ 
b/apis/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java
@@ -16,12 +16,17 @@
  */
 package org.jclouds.docker.config;
 
+import java.io.File;
+
 import javax.inject.Inject;
 import javax.inject.Singleton;
 
 import org.jclouds.docker.suppliers.DockerSSLContextSupplier;
+import org.jclouds.domain.Credentials;
 import org.jclouds.http.okhttp.OkHttpClientSupplier;
+import org.jclouds.location.Provider;
 
+import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableList;
 import com.squareup.okhttp.ConnectionSpec;
 import com.squareup.okhttp.OkHttpClient;
@@ -31,10 +36,12 @@ import com.squareup.okhttp.TlsVersion;
 public class DockerOkHttpClientSupplier implements OkHttpClientSupplier {
 
     private final DockerSSLContextSupplier dockerSSLContextSupplier;
+    private final Supplier<Credentials> creds;
 
     @Inject
-    DockerOkHttpClientSupplier(DockerSSLContextSupplier 
dockerSSLContextSupplier) {
+    DockerOkHttpClientSupplier(DockerSSLContextSupplier 
dockerSSLContextSupplier, @Provider Supplier<Credentials> creds) {
         this.dockerSSLContextSupplier = dockerSSLContextSupplier;
+        this.creds = creds;
     }
 
     @Override
@@ -46,7 +53,10 @@ public class DockerOkHttpClientSupplier implements 
OkHttpClientSupplier {
         ConnectionSpec cleartextSpec = new 
ConnectionSpec.Builder(ConnectionSpec.CLEARTEXT)
                 .build();
         client.setConnectionSpecs(ImmutableList.of(tlsSpec, cleartextSpec));
-        
client.setSslSocketFactory(dockerSSLContextSupplier.get().getSocketFactory());
+        // check if identity and credential are files, to set up sslContext
+        if (new File(creds.get().identity).isFile() && new 
File(creds.get().credential).isFile()) {
+           
client.setSslSocketFactory(dockerSSLContextSupplier.get().getSocketFactory());
+        }
         return client;
     }
 

Reply via email to