You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by ja...@apache.org on 2014/11/06 01:53:44 UTC

git commit: FLUME-2533: HTTPS tests fail on Java 6

Repository: flume
Updated Branches:
  refs/heads/trunk fdd61e840 -> 7e21ad36c


FLUME-2533: HTTPS tests fail on Java 6

(Hari Shreedharan via Jarek Jarcec Cecho)


Project: http://git-wip-us.apache.org/repos/asf/flume/repo
Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/7e21ad36
Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/7e21ad36
Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/7e21ad36

Branch: refs/heads/trunk
Commit: 7e21ad36c05e07c4c6b92aa489f08c3cb562cb28
Parents: fdd61e8
Author: Jarek Jarcec Cecho <ja...@apache.org>
Authored: Wed Nov 5 16:53:13 2014 -0800
Committer: Jarek Jarcec Cecho <ja...@apache.org>
Committed: Wed Nov 5 16:53:13 2014 -0800

----------------------------------------------------------------------
 .../flume/source/http/TestHTTPSource.java       | 77 ++++++++++++++++++--
 1 file changed, 71 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flume/blob/7e21ad36/flume-ng-core/src/test/java/org/apache/flume/source/http/TestHTTPSource.java
----------------------------------------------------------------------
diff --git a/flume-ng-core/src/test/java/org/apache/flume/source/http/TestHTTPSource.java b/flume-ng-core/src/test/java/org/apache/flume/source/http/TestHTTPSource.java
index 9ba0a8c..64111be 100644
--- a/flume-ng-core/src/test/java/org/apache/flume/source/http/TestHTTPSource.java
+++ b/flume-ng-core/src/test/java/org/apache/flume/source/http/TestHTTPSource.java
@@ -367,6 +367,7 @@ public class TestHTTPSource {
       }};
 
       SSLContext sc = null;
+      javax.net.ssl.SSLSocketFactory factory = null;
       if (System.getProperty("java.vendor").contains("IBM")) {
         sc = SSLContext.getInstance("SSL_TLS");
       } else {
@@ -379,11 +380,11 @@ public class TestHTTPSource {
         }
       };
       sc.init(null, trustAllCerts, new SecureRandom());
-      javax.net.ssl.SSLSocketFactory factory = null;
+
       if(protocol != null) {
-        factory = new TestSSLSocketFactory(sc.getSocketFactory(), protocol);
+        factory = new DisabledProtocolsSocketFactory(sc.getSocketFactory(), protocol);
       } else {
-        factory = sc.getSocketFactory();
+        factory = new EnabledProtocolsSocketFactory(sc.getSocketFactory());
       }
       HttpsURLConnection.setDefaultSSLSocketFactory(factory);
       HttpsURLConnection.setDefaultHostnameVerifier(
@@ -490,16 +491,16 @@ public class TestHTTPSource {
     }
   }
 
-  private class TestSSLSocketFactory extends javax.net.ssl.SSLSocketFactory {
+  private class DisabledProtocolsSocketFactory extends javax.net.ssl.SSLSocketFactory {
 
     private final javax.net.ssl.SSLSocketFactory socketFactory;
     private final String[] protocols;
 
-    TestSSLSocketFactory(javax.net.ssl.SSLSocketFactory factory, String protocol) {
+    DisabledProtocolsSocketFactory(javax.net.ssl.SSLSocketFactory factory, String protocol) {
       this.socketFactory = factory;
       if(protocol.equals("SSLv2Hello")) {
         protocols = new String[2];
-        protocols[0] = "TLSv1.2";
+        protocols[0] = "TLSv1";
         protocols[1] = protocol;
       } else {
         protocols = new String[1];
@@ -559,4 +560,68 @@ public class TestHTTPSource {
       return sc;
     }
   }
+
+  private class EnabledProtocolsSocketFactory extends javax.net.ssl.SSLSocketFactory {
+
+    private final javax.net.ssl.SSLSocketFactory socketFactory;
+    private final String[] protocols;
+
+    EnabledProtocolsSocketFactory(javax.net.ssl.SSLSocketFactory factory) {
+      this.socketFactory = factory;
+      protocols = new String[1];
+      protocols[0] = "TLSv1";
+    }
+
+    @Override
+    public String[] getDefaultCipherSuites() {
+      return socketFactory.getDefaultCipherSuites();
+    }
+
+    @Override
+    public String[] getSupportedCipherSuites() {
+      return socketFactory.getSupportedCipherSuites();
+    }
+
+    @Override
+    public Socket createSocket(Socket socket, String s, int i, boolean b)
+      throws IOException {
+      SSLSocket sc = (SSLSocket) socketFactory.createSocket(socket, s, i, b);
+      sc.setEnabledProtocols(protocols);
+      return sc;
+    }
+
+    @Override
+    public Socket createSocket(String s, int i)
+      throws IOException, UnknownHostException {
+      SSLSocket sc = (SSLSocket)socketFactory.createSocket(s, i);
+      sc.setEnabledProtocols(protocols);
+      return sc;
+    }
+
+    @Override
+    public Socket createSocket(String s, int i, InetAddress inetAddress, int i2)
+      throws IOException, UnknownHostException {
+      SSLSocket sc = (SSLSocket)socketFactory.createSocket(s, i, inetAddress,
+        i2);
+      sc.setEnabledProtocols(protocols);
+      return sc;
+    }
+
+    @Override
+    public Socket createSocket(InetAddress inetAddress, int i)
+      throws IOException {
+      SSLSocket sc = (SSLSocket)socketFactory.createSocket(inetAddress, i);
+      sc.setEnabledProtocols(protocols);
+      return sc;
+    }
+
+    @Override
+    public Socket createSocket(InetAddress inetAddress, int i,
+      InetAddress inetAddress2, int i2) throws IOException {
+      SSLSocket sc = (SSLSocket)socketFactory.createSocket(inetAddress, i,
+        inetAddress2, i2);
+      sc.setEnabledProtocols(protocols);
+      return sc;
+    }
+  }
 }