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: [email protected]
For additional commands, e-mail: [email protected]