jfarcand 2003/02/26 09:50:33 Modified: coyote/src/java/org/apache/coyote/tomcat5 OutputBuffer.java Log: Fix a package protection issue when running the security manager. Revision Changes Path 1.7 +28 -1 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/OutputBuffer.java Index: OutputBuffer.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/OutputBuffer.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- OutputBuffer.java 29 Jan 2003 15:35:22 -0000 1.6 +++ OutputBuffer.java 26 Feb 2003 17:50:33 -0000 1.7 @@ -59,10 +59,14 @@ package org.apache.coyote.tomcat5; + import java.io.IOException; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.io.Writer; +import java.security.AccessController; +import java.security.PrivilegedExceptionAction; +import java.security.PrivilegedActionException; import java.util.HashMap; import org.apache.tomcat.util.buf.ByteChunk; @@ -604,7 +608,30 @@ enc = DEFAULT_ENCODING; conv = (C2BConverter) encoders.get(enc); if (conv == null) { - conv = new C2BConverter(bb, enc); + + if (System.getSecurityManager() != null){ + try{ + conv = (C2BConverter)AccessController.doPrivileged( + new PrivilegedExceptionAction(){ + + public Object run() throws IOException{ + return new C2BConverter(bb, enc); + } + + } + ); + }catch(PrivilegedActionException ex){ + Exception e = ex.getException(); + if (e instanceof IOException) + throw (IOException)e; + + if (debug > 0) + log("setConverter: " + ex.getMessage()); + } + } else { + conv = new C2BConverter(bb, enc); + } + encoders.put(enc, conv); /* try {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]