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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org