Author: rjung
Date: Wed May 27 10:26:27 2015
New Revision: 1681958

URL: http://svn.apache.org/r1681958
Log:
Add some comments to track handling of TLS
default protocols.

Remove "ALL" handling from AprEndpoint,
because SSLHostConfig already resolves "ALL"
to a list of explicit protocols. If "ALL"
manages to dripple down to AprEndpoint, it
will now throw an exception with an invalid ssl
protocol message.

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfig.java
    tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1681958&r1=1681957&r2=1681958&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed May 27 
10:26:27 2015
@@ -375,6 +375,7 @@ public class AprEndpoint extends Abstrac
                 // SSL protocol
                 int value = SSL.SSL_PROTOCOL_NONE;
                 if (sslHostConfig.getProtocols().size() == 0) {
+                    // Native fallback used if protocols=""
                     value = SSL.SSL_PROTOCOL_ALL;
                 } else {
                     for (String protocol : sslHostConfig.getProtocols()) {
@@ -390,8 +391,6 @@ public class AprEndpoint extends Abstrac
                             value |= SSL.SSL_PROTOCOL_TLSV1_1;
                         } else if 
(Constants.SSL_PROTO_TLSv1_2.equalsIgnoreCase(protocol)) {
                             value |= SSL.SSL_PROTOCOL_TLSV1_2;
-                        } else if 
(Constants.SSL_PROTO_ALL.equalsIgnoreCase(protocol)) {
-                            value |= SSL.SSL_PROTOCOL_ALL;
                         } else {
                             // Protocol not recognized, fail to start as it is 
safer than
                             // continuing with the default which might enable 
more than the

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfig.java?rev=1681958&r1=1681957&r2=1681958&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfig.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfig.java Wed May 27 
10:26:27 2015
@@ -42,6 +42,12 @@ public class SSLHostConfig {
     protected static final Set<String> SSL_PROTO_ALL = new HashSet<>();
 
     static {
+        /* Default used if protocols is not configured, also
+           used if protocols="All" */
+        /* If protocols is configured to be empty, the effective
+           value comes from
+           
org.apache.tomcat.util.net.jsse.JSSESocketFactory.defaultServerProtocols
+           (JSSE) resp. org.apache.tomcat.jni.SSL.SSL_PROTOCOL_ALL (OpenSSL)*/
         SSL_PROTO_ALL.add(Constants.SSL_PROTO_SSLv2Hello);
         SSL_PROTO_ALL.add(Constants.SSL_PROTO_TLSv1);
         SSL_PROTO_ALL.add(Constants.SSL_PROTO_TLSv1_1);

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=1681958&r1=1681957&r2=1681958&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java 
Wed May 27 10:26:27 2015
@@ -400,6 +400,7 @@ public class JSSESocketFactory implement
     @Override
     public String[] getEnableableProtocols(SSLContext context) {
         if (sslHostConfig.getProtocols().size() == 0) {
+            // JSSE fallback used if protocols=""
             return defaultServerProtocols;
         }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to