billbarker    2004/01/06 21:06:47

  Modified:    catalina/src/share/org/apache/coyote/tomcat5
                        CoyoteResponseFacade.java
  Log:
  It seems that setDateHeader requires a PA when running in the sandbox.
  
  Revision  Changes    Path
  1.3       +37 -7     
jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/CoyoteResponseFacade.java
  
  Index: CoyoteResponseFacade.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/CoyoteResponseFacade.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CoyoteResponseFacade.java 2 Sep 2003 21:21:59 -0000       1.2
  +++ CoyoteResponseFacade.java 7 Jan 2004 05:06:47 -0000       1.3
  @@ -105,7 +105,27 @@
               return null;
           }            
       }
  -     
  +
  +    private final class DateHeaderPrivilegedAction implements PrivilegedAction {
  +        private String name;
  +        private long value;
  +        private boolean add;
  +
  +        DateHeaderPrivilegedAction(String name, long value, boolean add) {
  +            this.name = name;
  +            this.value = value;
  +            this.add = add;
  +        }
  +
  +        public Object run() {
  +            if(add) {
  +                response.addDateHeader(name, value);
  +            } else {
  +                response.setDateHeader(name, value);
  +            }
  +            return null;
  +        }
  +    }
       
       // ----------------------------------------------------------- Constructors
   
  @@ -391,7 +411,12 @@
           if (isCommitted())
               return;
   
  -        response.setDateHeader(name, date);
  +        if(System.getSecurityManager() != null) {
  +            AccessController.doPrivileged(new DateHeaderPrivilegedAction
  +                                             (name, date, false));
  +        } else {
  +            response.setDateHeader(name, date);
  +        }
   
       }
   
  @@ -401,7 +426,12 @@
           if (isCommitted())
               return;
   
  -        response.addDateHeader(name, date);
  +        if(System.getSecurityManager() != null) {
  +            AccessController.doPrivileged(new DateHeaderPrivilegedAction
  +                                             (name, date, true));
  +        } else {
  +            response.addDateHeader(name, date);
  +        }
   
       }
   
  
  
  

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

Reply via email to