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/openssl/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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org