Author: markt
Date: Thu May 21 09:44:39 2015
New Revision: 1680781

URL: http://svn.apache.org/r1680781
Log:
Fix the SSLSupport TODO.
The StreamProcessor will need access to this to provide TLS information on the 
underlying connection to web applications via the Servlet API. Implementation 
for the relevant action codes *is not* included in this commit.

Modified:
    
tomcat/trunk/java/org/apache/coyote/http11/upgrade/InternalHttpUpgradeHandler.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
    
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java
    
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
    tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
    tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
    
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
    
tomcat/trunk/test/org/apache/coyote/http11/upgrade/TestUpgradeInternalHandler.java

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/InternalHttpUpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/InternalHttpUpgradeHandler.java?rev=1680781&r1=1680780&r2=1680781&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/InternalHttpUpgradeHandler.java
 (original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/InternalHttpUpgradeHandler.java
 Thu May 21 09:44:39 2015
@@ -19,6 +19,7 @@ package org.apache.coyote.http11.upgrade
 import javax.servlet.http.HttpUpgradeHandler;
 
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
+import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 
@@ -32,4 +33,6 @@ public interface InternalHttpUpgradeHand
     SocketState upgradeDispatch(SocketStatus status);
 
     void setSocketWrapper(SocketWrapperBase<?> wrapper);
+
+    void setSslSupport(SSLSupport sslSupport);
 }
\ No newline at end of file

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java?rev=1680781&r1=1680780&r2=1680781&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java 
(original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java 
Thu May 21 09:44:39 2015
@@ -26,7 +26,6 @@ import javax.servlet.http.WebConnection;
 import org.apache.coyote.Processor;
 import org.apache.coyote.Request;
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
-import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 
 public abstract class UpgradeProcessorBase implements Processor, WebConnection 
{
@@ -106,12 +105,6 @@ public abstract class UpgradeProcessorBa
     }
 
 
-    @Override
-    public final void setSslSupport(SSLSupport sslSupport) {
-        // NOOP
-    }
-
-
     @Override
     public ByteBuffer getLeftoverInput() {
         return null;

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java?rev=1680781&r1=1680780&r2=1680781&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java
 (original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java
 Thu May 21 09:44:39 2015
@@ -26,6 +26,7 @@ import javax.servlet.http.HttpUpgradeHan
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
+import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
@@ -117,4 +118,12 @@ public class UpgradeProcessorExternal ex
         }
         return SocketState.UPGRADED;
     }
+
+
+    // ----------------------------------------- Unimplemented Processor 
methods
+
+    @Override
+    public final void setSslSupport(SSLSupport sslSupport) {
+        // NO-OP
+    }
 }

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java?rev=1680781&r1=1680780&r2=1680781&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
 (original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
 Thu May 21 09:44:39 2015
@@ -23,6 +23,7 @@ import javax.servlet.ServletInputStream;
 import javax.servlet.ServletOutputStream;
 
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
+import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 
@@ -50,6 +51,12 @@ public class UpgradeProcessorInternal ex
     }
 
 
+    @Override
+    public final void setSslSupport(SSLSupport sslSupport) {
+        internalHttpUpgradeHandler.setSslSupport(sslSupport);
+    }
+
+
     // --------------------------------------------------- AutoCloseable 
methods
 
     @Override

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java?rev=1680781&r1=1680780&r2=1680781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Thu May 
21 09:44:39 2015
@@ -37,6 +37,7 @@ import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.http.MimeHeaders;
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
+import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
@@ -80,8 +81,11 @@ public class Http2UpgradeHandler extends
     private static final byte[] GOAWAY = { 0x07, 0x00, 0x00, 0x00, 0x00 };
 
     private final int connectionId;
+
     private final Adapter adapter;
     private volatile SocketWrapperBase<?> socketWrapper;
+    private volatile SSLSupport sslSupport;
+
     private volatile boolean initialized = false;
     private volatile ConnectionPrefaceParser connectionPrefaceParser =
             new ConnectionPrefaceParser();
@@ -133,6 +137,12 @@ public class Http2UpgradeHandler extends
 
 
     @Override
+    public void setSslSupport(SSLSupport sslSupport) {
+        this.sslSupport = sslSupport;
+    }
+
+
+    @Override
     public SocketState upgradeDispatch(SocketStatus status) {
         if (log.isDebugEnabled()) {
             log.debug(sm.getString("upgradeHandler.upgradeDispatch.entry",
@@ -372,6 +382,7 @@ public class Http2UpgradeHandler extends
 
         // Process this stream on a container thread
         StreamProcessor streamProcessor = new StreamProcessor(stream, adapter, 
socketWrapper);
+        streamProcessor.setSslSupport(sslSupport);
         socketWrapper.getEndpoint().getExecutor().execute(streamProcessor);
     }
 

Modified: tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java?rev=1680781&r1=1680780&r2=1680781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Thu May 21 
09:44:39 2015
@@ -40,6 +40,8 @@ public class StreamProcessor extends Abs
 
     private final Stream stream;
 
+    private volatile SSLSupport sslSupport;
+
 
     public StreamProcessor(Stream stream, Adapter adapter, 
SocketWrapperBase<?> socketWrapper) {
         super(stream.getCoyoteRequest(), stream.getCoyoteResponse());
@@ -99,8 +101,7 @@ public class StreamProcessor extends Abs
 
     @Override
     public void setSslSupport(SSLSupport sslSupport) {
-        // TODO Auto-generated method stub
-
+        this.sslSupport = sslSupport;
     }
 
 

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java?rev=1680781&r1=1680780&r2=1680781&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
Thu May 21 09:44:39 2015
@@ -34,6 +34,7 @@ import org.apache.coyote.http11.upgrade.
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
+import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
@@ -222,4 +223,11 @@ public class WsHttpUpgradeHandler implem
          */
         wsSession.onClose(cr);
     }
+
+
+    @Override
+    public void setSslSupport(SSLSupport sslSupport) {
+        // NO-OP. WebSocket has no requirement to access the TLS information
+        // associated with the underlying connection.
+    }
 }

Modified: 
tomcat/trunk/test/org/apache/coyote/http11/upgrade/TestUpgradeInternalHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/http11/upgrade/TestUpgradeInternalHandler.java?rev=1680781&r1=1680780&r2=1680781&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/coyote/http11/upgrade/TestUpgradeInternalHandler.java
 (original)
+++ 
tomcat/trunk/test/org/apache/coyote/http11/upgrade/TestUpgradeInternalHandler.java
 Thu May 21 09:44:39 2015
@@ -47,6 +47,7 @@ import org.apache.catalina.Context;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
+import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.net.SocketWrapperBase.CompletionState;
@@ -255,6 +256,11 @@ public class TestUpgradeInternalHandler
         public void setSocketWrapper(SocketWrapperBase<?> wrapper) {
             this.wrapper = wrapper;
         }
+
+        @Override
+        public void setSslSupport(SSLSupport sslSupport) {
+            // NO-OP
+        }
     }
 
 }



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

Reply via email to