|
|
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 |
|