jfarcand    2004/11/18 14:14:25

  Modified:    catalina/src/share/org/apache/coyote/tomcat5 Tag: TOMCAT_5_0
                        CoyoteInputStream.java CoyoteRequestFacade.java
                        CoyoteResponse.java CoyoteResponseFacade.java
                        InputBuffer.java OutputBuffer.java
  Log:
  When the package protection is not used, do not create the doPrivileged 
objects so we don't suffer the performance hit (15% faster with trade2 and this 
change). Also fixed a memory leak when security manager is turned on.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.5.2.1   +6 -5      
jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/CoyoteInputStream.java
  
  Index: CoyoteInputStream.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/CoyoteInputStream.java,v
  retrieving revision 1.5
  retrieving revision 1.5.2.1
  diff -u -r1.5 -r1.5.2.1
  --- CoyoteInputStream.java    14 Apr 2004 00:14:22 -0000      1.5
  +++ CoyoteInputStream.java    18 Nov 2004 22:14:24 -0000      1.5.2.1
  @@ -24,6 +24,7 @@
   
   import javax.servlet.ServletInputStream;
   
  +import org.apache.catalina.security.SecurityUtil;
   
   /**
    * This class handles reading bytes.
  @@ -65,7 +66,7 @@
   
       public int read()
           throws IOException {    
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               
               try{
                   Integer result = 
  @@ -94,7 +95,7 @@
   
       public int available() throws IOException {
           
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               try{
                   Integer result = 
                       (Integer)AccessController.doPrivileged(
  @@ -122,7 +123,7 @@
   
       public int read(final byte[] b) throws IOException {
           
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               try{
                   Integer result = 
                       (Integer)AccessController.doPrivileged(
  @@ -153,7 +154,7 @@
       public int read(final byte[] b, final int off, final int len)
           throws IOException {
               
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               try{
                   Integer result = 
                       (Integer)AccessController.doPrivileged(
  @@ -193,7 +194,7 @@
        */
       public void close() throws IOException {
           
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               try{
                   AccessController.doPrivileged(
                       new PrivilegedExceptionAction(){
  
  
  
  1.7.2.1   +16 -14    
jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/CoyoteRequestFacade.java
  
  Index: CoyoteRequestFacade.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/CoyoteRequestFacade.java,v
  retrieving revision 1.7
  retrieving revision 1.7.2.1
  diff -u -r1.7 -r1.7.2.1
  --- CoyoteRequestFacade.java  2 Mar 2004 17:36:55 -0000       1.7
  +++ CoyoteRequestFacade.java  18 Nov 2004 22:14:24 -0000      1.7.2.1
  @@ -33,6 +33,8 @@
   
   import org.apache.catalina.connector.RequestFacade;
   
  +import org.apache.catalina.security.SecurityUtil;
  +
   /**
    * Facade class that wraps a Coyote request object.  
    * All methods are delegated to the wrapped request.
  @@ -216,7 +218,7 @@
   
   
       public Enumeration getAttributeNames() {
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               return (Enumeration)AccessController.doPrivileged(
                   new GetAttributePrivilegedAction());        
           } else {
  @@ -226,7 +228,7 @@
   
   
       public String getCharacterEncoding() {
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               return (String)AccessController.doPrivileged(
                   new GetCharacterEncodingPrivilegedAction());
           } else {
  @@ -258,7 +260,7 @@
   
   
       public String getParameter(String name) {
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               return (String)AccessController.doPrivileged(
                   new GetParameterPrivilegedAction(name));
           } else {
  @@ -268,7 +270,7 @@
   
   
       public Enumeration getParameterNames() {
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               return (Enumeration)AccessController.doPrivileged(
                   new GetParameterNamesPrivilegedAction());
           } else {
  @@ -285,7 +287,7 @@
            * Clone the returned array only if there is a security manager
            * in place, so that performance won't suffer in the nonsecure case
            */
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               ret = (String[]) AccessController.doPrivileged(
                   new GetParameterValuePrivilegedAction(name));
               if (ret != null) {
  @@ -300,7 +302,7 @@
   
   
       public Map getParameterMap() {
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               return (Map)AccessController.doPrivileged(
                   new GetParameterMapPrivilegedAction());        
           } else {
  @@ -356,7 +358,7 @@
   
   
       public Locale getLocale() {
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               return (Locale)AccessController.doPrivileged(
                   new GetLocalePrivilegedAction());
           } else {
  @@ -366,7 +368,7 @@
   
   
       public Enumeration getLocales() {
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               return (Enumeration)AccessController.doPrivileged(
                   new GetLocalesPrivilegedAction());
           } else {
  @@ -381,7 +383,7 @@
   
   
       public RequestDispatcher getRequestDispatcher(String path) {
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               return (RequestDispatcher)AccessController.doPrivileged(
                   new GetRequestDispatcherPrivilegedAction(path));
           } else {
  @@ -408,7 +410,7 @@
            * Clone the returned array only if there is a security manager
            * in place, so that performance won't suffer in the nonsecure case
            */
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               ret = (Cookie[])AccessController.doPrivileged(
                   new GetCookiesPrivilegedAction());
               if (ret != null) {
  @@ -433,7 +435,7 @@
   
   
       public Enumeration getHeaders(String name) {
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               return (Enumeration)AccessController.doPrivileged(
                   new GetHeadersPrivilegedAction(name));
           } else {
  @@ -443,7 +445,7 @@
   
   
       public Enumeration getHeaderNames() {
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               return (Enumeration)AccessController.doPrivileged(
                   new GetHeaderNamesPrivilegedAction());
           } else {
  @@ -519,7 +521,7 @@
   
       public HttpSession getSession(boolean create) {
   
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               return (HttpSession)AccessController.
                   doPrivileged(new GetSessionPrivilegedAction(create));
           } else {
  
  
  
  1.18.2.2  +5 -4      
jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/CoyoteResponse.java
  
  Index: CoyoteResponse.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/CoyoteResponse.java,v
  retrieving revision 1.18.2.1
  retrieving revision 1.18.2.2
  diff -u -r1.18.2.1 -r1.18.2.2
  --- CoyoteResponse.java       23 Aug 2004 19:22:20 -0000      1.18.2.1
  +++ CoyoteResponse.java       18 Nov 2004 22:14:24 -0000      1.18.2.2
  @@ -47,6 +47,7 @@
   import org.apache.catalina.util.CharsetMapper;
   import org.apache.catalina.util.DateTool;
   import org.apache.catalina.util.StringManager;
  +import org.apache.catalina.security.SecurityUtil;
   import org.apache.coyote.Response;
   import org.apache.tomcat.util.buf.CharChunk;
   import org.apache.tomcat.util.buf.UEncoder;
  @@ -934,7 +935,7 @@
           cookies.add(cookie);
   
           final StringBuffer sb = new StringBuffer();
  -        if (System.getSecurityManager() != null) {
  +        if (SecurityUtil.isPackageProtectionEnabled()) {
               AccessController.doPrivileged(new PrivilegedAction() {
                   public Object run(){
                       ServerCookie.appendCookieValue
  @@ -1359,7 +1360,7 @@
           if (hreq.isRequestedSessionIdFromCookie())
               return (false);
           
  -        if (System.getSecurityManager() != null) {
  +        if (SecurityUtil.isPackageProtectionEnabled()) {
               return ((Boolean)
                   AccessController.doPrivileged(new PrivilegedAction() {
   
  @@ -1463,7 +1464,7 @@
                       
                       String encodedURI = null;
                       final String frelativePath = relativePath;
  -                    if (System.getSecurityManager() != null ){
  +                    if (SecurityUtil.isPackageProtectionEnabled() ){
                           try{
                               encodedURI = 
(String)AccessController.doPrivileged( 
                                   new PrivilegedExceptionAction(){             
                   
  
  
  
  1.4.2.1   +4 -3      
jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/CoyoteResponseFacade.java
  
  Index: CoyoteResponseFacade.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/CoyoteResponseFacade.java,v
  retrieving revision 1.4
  retrieving revision 1.4.2.1
  diff -u -r1.4 -r1.4.2.1
  --- CoyoteResponseFacade.java 27 Feb 2004 14:58:53 -0000      1.4
  +++ CoyoteResponseFacade.java 18 Nov 2004 22:14:24 -0000      1.4.2.1
  @@ -29,6 +29,7 @@
   import javax.servlet.http.Cookie;
   import javax.servlet.http.HttpServletResponse;
   
  +import org.apache.catalina.security.SecurityUtil;
   import org.apache.catalina.connector.ResponseFacade;
   
   /**
  @@ -183,7 +184,7 @@
           if (isCommitted())
               return;
           
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               AccessController.doPrivileged(new 
SetContentTypePrivilegedAction(type));
           } else {
               response.setContentType(type);            
  @@ -215,7 +216,7 @@
               //                (/*sm.getString("responseFacade.finished")*/);
               return;
   
  -        if (System.getSecurityManager() != null){
  +        if (SecurityUtil.isPackageProtectionEnabled()){
               try{
                   AccessController.doPrivileged(new 
PrivilegedExceptionAction(){
   
  
  
  
  1.7.2.1   +2 -1      
jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/InputBuffer.java
  
  Index: InputBuffer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/InputBuffer.java,v
  retrieving revision 1.7
  retrieving revision 1.7.2.1
  diff -u -r1.7 -r1.7.2.1
  --- InputBuffer.java  14 May 2004 21:14:14 -0000      1.7
  +++ InputBuffer.java  18 Nov 2004 22:14:24 -0000      1.7.2.1
  @@ -23,6 +23,7 @@
   import java.security.PrivilegedExceptionAction;
   import java.util.HashMap;
   
  +import org.apache.catalina.security.SecurityUtil;
   import org.apache.coyote.Request;
   import org.apache.tomcat.util.buf.B2CConverter;
   import org.apache.tomcat.util.buf.ByteChunk;
  @@ -482,7 +483,7 @@
               enc = DEFAULT_ENCODING;
           conv = (B2CConverter) encoders.get(enc);
           if (conv == null) {
  -            if (System.getSecurityManager() != null){
  +            if (SecurityUtil.isPackageProtectionEnabled()){
                   try{
                       conv = (B2CConverter)AccessController.doPrivileged(
                               new PrivilegedExceptionAction(){
  
  
  
  1.8.2.1   +2 -1      
jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/OutputBuffer.java
  
  Index: OutputBuffer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/Attic/OutputBuffer.java,v
  retrieving revision 1.8
  retrieving revision 1.8.2.1
  diff -u -r1.8 -r1.8.2.1
  --- OutputBuffer.java 27 Feb 2004 14:58:53 -0000      1.8
  +++ OutputBuffer.java 18 Nov 2004 22:14:24 -0000      1.8.2.1
  @@ -25,6 +25,7 @@
   import java.util.HashMap;
   
   import org.apache.catalina.connector.ClientAbortException;
  +import org.apache.catalina.security.SecurityUtil;
   import org.apache.coyote.ActionCode;
   import org.apache.coyote.Response;
   import org.apache.tomcat.util.buf.ByteChunk;
  @@ -596,7 +597,7 @@
           conv = (C2BConverter) encoders.get(enc);
           if (conv == null) {
               
  -            if (System.getSecurityManager() != null){
  +            if (SecurityUtil.isPackageProtectionEnabled()){
                   try{
                       conv = (C2BConverter)AccessController.doPrivileged(
                               new PrivilegedExceptionAction(){
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to