Author: markt
Date: Wed Apr 5 10:54:40 2017
New Revision: 1790213
URL: http://svn.apache.org/viewvc?rev=1790213&view=rev
Log:
Partial fix for https://bz.apache.org/bugzilla/show_bug.cgi?id=47214
Replace explicitly referenced anonymous inner classes in Stream with named
inner classes.
Modified:
tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
tomcat/trunk/java/org/apache/coyote/http2/Stream.java
Modified: tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java?rev=1790213&r1=1790212&r2=1790213&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java Wed
Apr 5 10:54:40 2017
@@ -170,7 +170,7 @@ public final class SecurityClassLoad {
// Make sure system property is read at this point
Class<?> clazz = loader.loadClass(basePackage + "Constants");
clazz.newInstance();
- loader.loadClass(basePackage + "http2.Stream$1");
+ loader.loadClass(basePackage + "http2.Stream$PrivilegedPush");
}
Modified: tomcat/trunk/java/org/apache/coyote/http2/Stream.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Stream.java?rev=1790213&r1=1790212&r2=1790213&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Stream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Stream.java Wed Apr 5 10:54:40
2017
@@ -577,14 +577,7 @@ class Stream extends AbstractStream impl
final Stream stream) throws IOException {
if (org.apache.coyote.Constants.IS_SECURITY_ENABLED) {
try {
- AccessController.doPrivileged(
- new PrivilegedExceptionAction<Void>() {
- @Override
- public Void run() throws IOException {
- handler.push(request, stream);
- return null;
- }
- });
+ AccessController.doPrivileged(new PrivilegedPush(handler,
request, stream));
} catch (PrivilegedActionException ex) {
Exception e = ex.getException();
if (e instanceof IOException) {
@@ -599,6 +592,28 @@ class Stream extends AbstractStream impl
}
}
+
+ private static class PrivilegedPush implements
PrivilegedExceptionAction<Void> {
+
+ private final Http2UpgradeHandler handler;
+ private final Request request;
+ private final Stream stream;
+
+ public PrivilegedPush(Http2UpgradeHandler handler, Request request,
+ Stream stream) {
+ this.handler = handler;
+ this.request = request;
+ this.stream = stream;
+ }
+
+ @Override
+ public Void run() throws IOException {
+ handler.push(request, stream);
+ return null;
+ }
+ }
+
+
class StreamOutputBuffer implements OutputBuffer {
private final ByteBuffer buffer = ByteBuffer.allocate(8 * 1024);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]