[prev in list] [next in list] [prev in thread] [next in thread] 

List:       tomcat-dev
Subject:    svn commit: r1614932 - in /tomcat/trunk: java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java
From:       markt () apache ! org
Date:       2014-07-31 16:23:32
Message-ID: 20140731162332.EF72E2389182 () eris ! apache ! org
[Download RAW message or body]

Author: markt
Date: Thu Jul 31 16:23:32 2014
New Revision: 1614932

URL: http://svn.apache.org/r1614932
Log:
Get the first of the parsing tests working

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java
    tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestOpenSSLCipherConfigurationParser.java
  tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TesterOpenSSL.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java?rev=1614932&r1=1614931&r2=1614932&view=diff
 ==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java Thu Jul 31 \
16:23:32 2014 @@ -2522,6 +2522,9 @@ enum Cipher {
      };*/
 
     // Cipher 0x020080
+    /*
+     * Same as Cipher 03 and name isn't recognised by JSSE so ignore this as it
+     * adds no value and complicates the unit tests.
     SSL2_RC4_128_EXPORT40_WITH_MD5(
             "EXP-RC4-MD5",
             null,
@@ -2536,6 +2539,7 @@ enum Cipher {
             40,
             128
     ),
+    */
     // Cipher 0x030080 / 0x040080
     SSL2_RC2_CBC_128_CBC_WITH_MD5(
             "RC2-CBC-MD5",

Modified: tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestOpenSSLCipherConfigurationParser.java
                
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/jsse/op \
enssl/TestOpenSSLCipherConfigurationParser.java?rev=1614932&r1=1614931&r2=1614932&view=diff
 ==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestOpenSSLCipherConfigurationParser.java \
                (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestOpenSSLCipherConfigurationParser.java \
Thu Jul 31 16:23:32 2014 @@ -19,13 +19,11 @@ package org.apache.tomcat.util.net.jsse.
 import java.util.List;
 
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 
 public class TestOpenSSLCipherConfigurationParser {
 
     @Test
-    @Ignore("Disabled as test currently fails")
     public void testExport40() throws Exception {
         testSpecification("EXPORT40");
     }
@@ -40,6 +38,8 @@ public class TestOpenSSLCipherConfigurat
         List<String> jsseCipherListFromParser =
                 OpenSSLCipherConfigurationParser.parseExpression(parserSpecification);
  
+        TesterOpenSSL.removeUnimplementedCiphersJsse(jsseCipherListFromParser);
+
         Assert.assertEquals(jsseCipherListFromOpenSSL, jsseCipherListFromParser);
     }
 }

Modified: tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TesterOpenSSL.java
                
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TesterOpenSSL.java?rev=1614932&r1=1614931&r2=1614932&view=diff
 ==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TesterOpenSSL.java \
                (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TesterOpenSSL.java Thu \
Jul 31 16:23:32 2014 @@ -19,6 +19,8 @@ package org.apache.tomcat.util.net.jsse.
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -31,9 +33,14 @@ import org.apache.tomcat.util.http.fileu
 public class TesterOpenSSL {
 
     public static final String EXPECTED_VERSION = "1.0.1h";
-
     public static final boolean IS_EXPECTED_VERSION;
 
+    public static final Set<Cipher> OPENSSL_UNIMPLEMENTED_CIPHERS =
+            Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
+                    Cipher.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA,
+                    Cipher.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA,
+                    Cipher.SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5)));
+
     static {
         String versionString = null;
         try {
@@ -70,6 +77,19 @@ public class TesterOpenSSL {
     }
 
 
+    /**
+     * Use this method to filter parser results when comparing them to OpenSSL
+     * results to take account of unimplemented cipher suites.
+     */
+    public static void removeUnimplementedCiphersJsse(List<String> list) {
+        for (Cipher cipher : OPENSSL_UNIMPLEMENTED_CIPHERS) {
+            for (String jsseName : cipher.getJsseNames()) {
+                list.remove(jsseName);
+            }
+        }
+    }
+
+
     private static String executeOpenSSLCommand(String... args) throws IOException {
         String openSSLPath = System.getProperty("tomcat.test.openssl.path");
         if (openSSLPath == null || openSSLPath.length() == 0) {



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic