Author: markt
Date: Mon Jan 11 15:40:04 2016
New Revision: 1724066

URL: http://svn.apache.org/viewvc?rev=1724066&view=rev
Log:
Refactoring
- Add a base class for SSLUtil. Not used much at the moment but I have plans...
- Only need to pass SSLHostCondigCertificate when creating SSLUtil since it has 
a reference to the SSLHostConfig already

Added:
    tomcat/trunk/java/org/apache/tomcat/util/net/SSLUtilBase.java   (with props)
Modified:
    tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfigCertificate.java
    tomcat/trunk/java/org/apache/tomcat/util/net/SSLImplementation.java
    tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java
    tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSEUtil.java
    tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java
    
tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLImplementation.java
    tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLUtil.java
    tomcat/trunk/test/org/apache/tomcat/util/net/jsse/TesterBug50640SslImpl.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java?rev=1724066&r1=1724065&r2=1724066&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java Mon 
Jan 11 15:40:04 2016
@@ -78,7 +78,7 @@ public abstract class AbstractJsseEndpoi
 
             for (SSLHostConfig sslHostConfig : sslHostConfigs.values()) {
                 for (SSLHostConfigCertificate certificate : 
sslHostConfig.getCertificates(true)) {
-                    SSLUtil sslUtil = 
sslImplementation.getSSLUtil(sslHostConfig, certificate);
+                    SSLUtil sslUtil = 
sslImplementation.getSSLUtil(certificate);
 
                     SSLContext sslContext = 
sslUtil.createSSLContext(negotiableProtocols);
                     sslContext.init(sslUtil.getKeyManagers(), 
sslUtil.getTrustManagers(), null);

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfigCertificate.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfigCertificate.java?rev=1724066&r1=1724065&r2=1724066&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfigCertificate.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfigCertificate.java 
Mon Jan 11 15:40:04 2016
@@ -78,6 +78,11 @@ public class SSLHostConfigCertificate {
 
     // Common
 
+    public SSLHostConfig getSSLHostConfig() {
+        return sslHostConfig;
+    }
+
+
     public Type getType() {
         return type;
     }

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SSLImplementation.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SSLImplementation.java?rev=1724066&r1=1724065&r2=1724066&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SSLImplementation.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SSLImplementation.java Mon Jan 
11 15:40:04 2016
@@ -66,6 +66,5 @@ public abstract class SSLImplementation
 
     public abstract SSLSupport getSSLSupport(SSLSession session);
 
-    public abstract SSLUtil getSSLUtil(SSLHostConfig sslHostConfig,
-            SSLHostConfigCertificate certificate);
+    public abstract SSLUtil getSSLUtil(SSLHostConfigCertificate certificate);
 }

Added: tomcat/trunk/java/org/apache/tomcat/util/net/SSLUtilBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SSLUtilBase.java?rev=1724066&view=auto
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SSLUtilBase.java (added)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SSLUtilBase.java Mon Jan 11 
15:40:04 2016
@@ -0,0 +1,30 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tomcat.util.net;
+
+/**
+ * Common base class for {@link SSLUtil} implementations.
+ */
+public abstract class SSLUtilBase implements SSLUtil {
+
+    protected final SSLHostConfigCertificate certificate;
+
+
+    protected SSLUtilBase(SSLHostConfigCertificate certificate) {
+        this.certificate = certificate;
+    }
+}

Propchange: tomcat/trunk/java/org/apache/tomcat/util/net/SSLUtilBase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java?rev=1724066&r1=1724065&r2=1724066&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java 
Mon Jan 11 15:40:04 2016
@@ -18,7 +18,6 @@ package org.apache.tomcat.util.net.jsse;
 
 import javax.net.ssl.SSLSession;
 
-import org.apache.tomcat.util.net.SSLHostConfig;
 import org.apache.tomcat.util.net.SSLHostConfigCertificate;
 import org.apache.tomcat.util.net.SSLImplementation;
 import org.apache.tomcat.util.net.SSLSupport;
@@ -46,7 +45,7 @@ public class JSSEImplementation extends
     }
 
     @Override
-    public SSLUtil getSSLUtil(SSLHostConfig sslHostConfig, 
SSLHostConfigCertificate certificate) {
-        return new JSSEUtil(sslHostConfig, certificate);
+    public SSLUtil getSSLUtil(SSLHostConfigCertificate certificate) {
+        return new JSSEUtil(certificate);
     }
 }

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSEUtil.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSEUtil.java?rev=1724066&r1=1724065&r2=1724066&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSEUtil.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSEUtil.java Mon Jan 11 
15:40:04 2016
@@ -57,7 +57,7 @@ import org.apache.tomcat.util.file.Confi
 import org.apache.tomcat.util.net.SSLContext;
 import org.apache.tomcat.util.net.SSLHostConfig;
 import org.apache.tomcat.util.net.SSLHostConfigCertificate;
-import org.apache.tomcat.util.net.SSLUtil;
+import org.apache.tomcat.util.net.SSLUtilBase;
 import org.apache.tomcat.util.res.StringManager;
 
 /**
@@ -69,20 +69,19 @@ import org.apache.tomcat.util.res.String
  * @author EKR
  * @author Jan Luehe
  */
-public class JSSEUtil implements SSLUtil {
+public class JSSEUtil extends SSLUtilBase {
 
     private static final Log log = LogFactory.getLog(JSSEUtil.class);
     private static final StringManager sm = 
StringManager.getManager(JSSEUtil.class);
 
     private final SSLHostConfig sslHostConfig;
-    private final SSLHostConfigCertificate certificate;
 
     private final String[] defaultServerProtocols;
 
 
-    public JSSEUtil (SSLHostConfig sslHostConfig, SSLHostConfigCertificate 
certificate) {
-        this.sslHostConfig = sslHostConfig;
-        this.certificate = certificate;
+    public JSSEUtil (SSLHostConfigCertificate certificate) {
+        super(certificate);
+        this.sslHostConfig = certificate.getSSLHostConfig();
 
         SSLContext context;
         try {

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java?rev=1724066&r1=1724065&r2=1724066&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java 
Mon Jan 11 15:40:04 2016
@@ -103,9 +103,9 @@ public class OpenSSLContext implements o
         }
     }
 
-    public OpenSSLContext(SSLHostConfig sslHostConfig, 
SSLHostConfigCertificate certificate, List<String> negotiableProtocols)
+    public OpenSSLContext(SSLHostConfigCertificate certificate, List<String> 
negotiableProtocols)
             throws SSLException {
-        this.sslHostConfig = sslHostConfig;
+        this.sslHostConfig = certificate.getSSLHostConfig();
         this.certificate = certificate;
         aprPool = Pool.create(0);
         boolean success = false;

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLImplementation.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLImplementation.java?rev=1724066&r1=1724065&r2=1724066&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLImplementation.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLImplementation.java 
Mon Jan 11 15:40:04 2016
@@ -18,7 +18,6 @@ package org.apache.tomcat.util.net.opens
 
 import javax.net.ssl.SSLSession;
 
-import org.apache.tomcat.util.net.SSLHostConfig;
 import org.apache.tomcat.util.net.SSLHostConfigCertificate;
 import org.apache.tomcat.util.net.SSLImplementation;
 import org.apache.tomcat.util.net.SSLSupport;
@@ -33,8 +32,8 @@ public class OpenSSLImplementation exten
     }
 
     @Override
-    public SSLUtil getSSLUtil(SSLHostConfig sslHostConfig, 
SSLHostConfigCertificate certificate) {
-        return new OpenSSLUtil(sslHostConfig, certificate);
+    public SSLUtil getSSLUtil(SSLHostConfigCertificate certificate) {
+        return new OpenSSLUtil(certificate);
     }
 
 }

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLUtil.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLUtil.java?rev=1724066&r1=1724065&r2=1724066&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLUtil.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLUtil.java Mon 
Jan 11 15:40:04 2016
@@ -25,24 +25,22 @@ import javax.net.ssl.TrustManager;
 import org.apache.tomcat.util.net.SSLContext;
 import org.apache.tomcat.util.net.SSLHostConfig;
 import org.apache.tomcat.util.net.SSLHostConfigCertificate;
-import org.apache.tomcat.util.net.SSLUtil;
+import org.apache.tomcat.util.net.SSLUtilBase;
 import org.apache.tomcat.util.net.jsse.JSSEUtil;
 
-public class OpenSSLUtil implements SSLUtil {
+public class OpenSSLUtil extends SSLUtilBase {
 
-    private final SSLHostConfig sslHostConfig;
-    private final SSLHostConfigCertificate certificate;
     private final JSSEUtil jsseUtil;
 
     private String[] enabledProtocols = null;
     private String[] enabledCiphers = null;
 
-    public OpenSSLUtil(SSLHostConfig sslHostConfig, SSLHostConfigCertificate 
certificate) {
-        this.sslHostConfig = sslHostConfig;
-        this.certificate = certificate;
+    public OpenSSLUtil(SSLHostConfigCertificate certificate) {
+        super(certificate);
+
         if (certificate.getCertificateFile() == null) {
             // Using JSSE configuration for keystore and truststore
-            jsseUtil = new JSSEUtil(sslHostConfig, certificate);
+            jsseUtil = new JSSEUtil(certificate);
         } else {
             // Use OpenSSL configuration for certificates
             jsseUtil = null;
@@ -51,7 +49,7 @@ public class OpenSSLUtil implements SSLU
 
     @Override
     public SSLContext createSSLContext(List<String> negotiableProtocols) 
throws Exception {
-        return new OpenSSLContext(sslHostConfig, certificate, 
negotiableProtocols);
+        return new OpenSSLContext(certificate, negotiableProtocols);
     }
 
     @Override

Modified: 
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/TesterBug50640SslImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/jsse/TesterBug50640SslImpl.java?rev=1724066&r1=1724065&r2=1724066&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/TesterBug50640SslImpl.java 
(original)
+++ 
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/TesterBug50640SslImpl.java 
Mon Jan 11 15:40:04 2016
@@ -27,11 +27,12 @@ public class TesterBug50640SslImpl exten
 
 
     @Override
-    public SSLUtil getSSLUtil(SSLHostConfig sslHostConfig, 
SSLHostConfigCertificate certificate) {
+    public SSLUtil getSSLUtil(SSLHostConfigCertificate certificate) {
+        SSLHostConfig sslHostConfig = certificate.getSSLHostConfig();
         if (sslHostConfig.getProtocols().size() == 1 &&
                 sslHostConfig.getProtocols().contains(PROPERTY_VALUE)) {
             sslHostConfig.setProtocols("TLSv1,TLSv1.1,TLSv1.2");
-            return super.getSSLUtil(sslHostConfig, certificate);
+            return super.getSSLUtil(certificate);
         } else {
             return null;
         }



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

Reply via email to