b0499a
From c14c8ec6b077721eddeddb125b9a4b0141e5e4aa Mon Sep 17 00:00:00 2001
b0499a
From: "Endi S. Dewata" <edewata@redhat.com>
b0499a
Date: Thu, 1 Jun 2017 00:29:37 +0200
b0499a
Subject: [PATCH] Fixed SSL cipher list parser.
b0499a
b0499a
The SSL cipher list parsers have been modified to ignore spaces
b0499a
to allow more user-friendly formatting.
b0499a
b0499a
https://pagure.io/tomcatjss/issue/9
b0499a
b0499a
Change-Id: Ic21f0347e06e20f64ef37de95f9d1f1ac3d1f0d2
b0499a
---
b0499a
 .../apache/tomcat/util/net/jss/JSSImplementation.java    |  5 +++--
b0499a
 src/org/apache/tomcat/util/net/jss/JSSSocketFactory.java | 16 ++++++++++++++--
b0499a
 2 files changed, 17 insertions(+), 4 deletions(-)
b0499a
b0499a
diff --git a/src/org/apache/tomcat/util/net/jss/JSSImplementation.java b/src/org/apache/tomcat/util/net/jss/JSSImplementation.java
b0499a
index 42dc8d2..8721844 100644
b0499a
--- a/src/org/apache/tomcat/util/net/jss/JSSImplementation.java
b0499a
+++ b/src/org/apache/tomcat/util/net/jss/JSSImplementation.java
b0499a
@@ -25,6 +25,8 @@ import java.io.IOException;
b0499a
 import java.net.Socket;
b0499a
 import java.util.Properties;
b0499a
 
b0499a
+import org.apache.commons.logging.Log;
b0499a
+import org.apache.commons.logging.LogFactory;
b0499a
 import org.apache.tomcat.util.net.AbstractEndpoint;
b0499a
 import org.apache.tomcat.util.net.SSLImplementation;
b0499a
 import org.apache.tomcat.util.net.SSLSupport;
b0499a
@@ -35,8 +37,7 @@ public class JSSImplementation extends SSLImplementation {
b0499a
     static final String JSSFactory = "org.apache.tomcat.util.net.jss.JSSFactory";
b0499a
     static final String SSLSocketClass = "org.mozilla.jss.ssl.SSLSocket";
b0499a
 
b0499a
-    static org.apache.commons.logging.Log logger = org.apache.commons.logging.LogFactory
b0499a
-            .getLog(JSSImplementation.class);
b0499a
+    static Log logger = LogFactory.getLog(JSSImplementation.class);
b0499a
 
b0499a
     private JSSFactory factory = null;
b0499a
 
b0499a
diff --git a/src/org/apache/tomcat/util/net/jss/JSSSocketFactory.java b/src/org/apache/tomcat/util/net/jss/JSSSocketFactory.java
b0499a
index 4992600..f974a89 100644
b0499a
--- a/src/org/apache/tomcat/util/net/jss/JSSSocketFactory.java
b0499a
+++ b/src/org/apache/tomcat/util/net/jss/JSSSocketFactory.java
b0499a
@@ -42,6 +42,8 @@ import javax.net.ssl.SSLContext;
b0499a
 import javax.net.ssl.TrustManager;
b0499a
 
b0499a
 import org.apache.commons.lang.StringUtils;
b0499a
+import org.apache.commons.logging.Log;
b0499a
+import org.apache.commons.logging.LogFactory;
b0499a
 // Imports required to "implement" Tomcat 7 Interface
b0499a
 import org.apache.tomcat.util.net.AbstractEndpoint;
b0499a
 import org.mozilla.jss.CertDatabaseException;
b0499a
@@ -61,6 +63,8 @@ public class JSSSocketFactory implements
b0499a
         org.apache.tomcat.util.net.ServerSocketFactory,
b0499a
         org.apache.tomcat.util.net.SSLUtil {
b0499a
 
b0499a
+    static Log logger = LogFactory.getLog(JSSSocketFactory.class);
b0499a
+
b0499a
     private static HashMap<String, Integer> cipherMap = new HashMap<String, Integer>();
b0499a
     static {
b0499a
         // SSLv2
b0499a
@@ -382,9 +386,13 @@ public class JSSSocketFactory implements
b0499a
             debugWrite("JSSSocketFactory setSSLCiphers: " + attr + " not found");
b0499a
             return;
b0499a
         }
b0499a
-        StringTokenizer st = new StringTokenizer(ciphers, ",");
b0499a
+
b0499a
+        logger.debug("Processing " + attr + ":");
b0499a
+        StringTokenizer st = new StringTokenizer(ciphers, ", ");
b0499a
         while (st.hasMoreTokens()) {
b0499a
             String cipherstr = st.nextToken();
b0499a
+            logger.debug(" - " + cipherstr);
b0499a
+
b0499a
             int cipherid = 0;
b0499a
             String text;
b0499a
             boolean state;
b0499a
@@ -456,9 +464,13 @@ public class JSSSocketFactory implements
b0499a
             debugWrite("no sslOptions specified");
b0499a
             return;
b0499a
         }
b0499a
-        StringTokenizer st = new StringTokenizer(options, ",");
b0499a
+
b0499a
+        logger.debug("Processing sslOptions:");
b0499a
+        StringTokenizer st = new StringTokenizer(options, ", ");
b0499a
         while (st.hasMoreTokens()) {
b0499a
             String option = st.nextToken();
b0499a
+            logger.debug(" - " + option);
b0499a
+
b0499a
             StringTokenizer st1 = new StringTokenizer(option, "=");
b0499a
             String name = st1.nextToken();
b0499a
             String value = st1.nextToken();
b0499a
-- 
b0499a
1.8.3.1
b0499a