glenn       01/02/03 16:49:57

  Modified:    catalina/src/share/org/apache/catalina/core
                        ApplicationDispatcher.java
  Log:
  Implement SecurityManager
  
  Revision  Changes    Path
  1.12      +42 -26    
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
  
  Index: ApplicationDispatcher.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ApplicationDispatcher.java        2001/01/23 22:05:52     1.11
  +++ ApplicationDispatcher.java        2001/02/04 00:49:56     1.12
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
 1.11 2001/01/23 22:05:52 glenn Exp $
  - * $Revision: 1.11 $
  - * $Date: 2001/01/23 22:05:52 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
 1.12 2001/02/04 00:49:56 glenn Exp $
  + * $Revision: 1.12 $
  + * $Date: 2001/02/04 00:49:56 $
    *
    * ====================================================================
    *
  @@ -67,6 +67,7 @@
   import java.io.IOException;
   import java.io.PrintWriter;
   import java.security.AccessController;
  +import java.security.PrivilegedExceptionAction;
   import java.security.PrivilegedActionException;
   import javax.servlet.RequestDispatcher;
   import javax.servlet.Servlet;
  @@ -96,13 +97,45 @@
    * <code>javax.servlet.ServletResponseWrapper</code>.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.11 $ $Date: 2001/01/23 22:05:52 $
  + * @version $Revision: 1.12 $ $Date: 2001/02/04 00:49:56 $
    */
   
   final class ApplicationDispatcher
       implements RequestDispatcher {
   
   
  +    protected class PrivilegedForward implements PrivilegedExceptionAction {
  +        private ServletRequest request;
  +        private ServletResponse response;
  +
  +        PrivilegedForward(ServletRequest request, ServletResponse response)
  +        {   
  +         this.request = request;
  +         this.response = response;
  +        }   
  +            
  +        public Object run() throws ServletException, IOException {
  +         doForward(request,response);
  +         return null;
  +        }   
  +    }
  +
  +    protected class PrivilegedInclude implements PrivilegedExceptionAction {
  +        private ServletRequest request;
  +        private ServletResponse response;
  +
  +        PrivilegedInclude(ServletRequest request, ServletResponse response)
  +        {  
  +            this.request = request;
  +            this.response = response;
  +        }
  +        
  +        public Object run() throws ServletException, IOException {
  +            doInclude(request,response);
  +            return null;
  +        }              
  +    }
  +
       // ----------------------------------------------------------- Constructors
   
   
  @@ -214,18 +247,9 @@
           throws ServletException, IOException
       {
           if( System.getSecurityManager() != null ) {
  -            final ServletRequest req = request;
  -            final ServletResponse res = response;
               try {
  -                java.security.AccessController.doPrivileged(
  -                    new java.security.PrivilegedExceptionAction()
  -                    {
  -                        public Object run() throws ServletException, IOException {
  -                            doForward(req,res);
  -                            return null;
  -                        }
  -                    }
  -                );
  +             PrivilegedForward dp = new PrivilegedForward(request,response);
  +                AccessController.doPrivileged(dp);
               } catch( PrivilegedActionException pe) {
                   Exception e = pe.getException();
                   if( e.getClass().getName().equals("javax.servlet.ServletException") 
)
  @@ -366,20 +390,12 @@
           throws ServletException, IOException
       {
           if( System.getSecurityManager() != null ) {
  -            final ServletRequest req = request;
  -            final ServletResponse res = response;
               try {
  -                java.security.AccessController.doPrivileged(
  -                    new java.security.PrivilegedExceptionAction()
  -                    {
  -                        public Object run() throws ServletException, IOException {
  -                            doInclude(req,res);
  -                            return null;       
  -                        }               
  -                    }       
  -                );      
  +                PrivilegedInclude dp = new PrivilegedInclude(request,response);
  +                AccessController.doPrivileged(dp);
               } catch( PrivilegedActionException pe) {
                   Exception e = pe.getException();
  +             pe.printStackTrace();
                   if( e.getClass().getName().equals("javax.servlet.ServletException") 
)
                       throw (ServletException)e;
                   throw (IOException)e;
  
  
  

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

Reply via email to