larryi      2004/01/21 19:03:35

  Modified:    coyote/src/java/org/apache/coyote/tomcat4 CoyoteAdapter.java
                        CoyoteConnector.java
  Log:
  Port allowTrace flag from Tomcat 5.
  
  Revision  Changes    Path
  1.26      +11 -5     
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteAdapter.java
  
  Index: CoyoteAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteAdapter.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- CoyoteAdapter.java        6 Jan 2004 02:06:26 -0000       1.25
  +++ CoyoteAdapter.java        22 Jan 2004 03:03:35 -0000      1.26
  @@ -237,7 +237,13 @@
               request.setSecure(connector.getSecure());
           }
    
  -
  +        // Filter trace method
  +        if (!connector.getAllowTrace() 
  +            && req.method().equalsIgnoreCase("TRACE")) {
  +            res.setStatus(403);
  +            res.setMessage("TRACE method is not allowed");
  +            throw new IOException("TRACE method is not allowed");
  +        }
   
           request.setAuthorization
               (req.getHeader(Constants.AUTHORIZATION_HEADER));
  
  
  
  1.31      +31 -4     
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java
  
  Index: CoyoteConnector.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- CoyoteConnector.java      21 Jan 2004 16:12:45 -0000      1.30
  +++ CoyoteConnector.java      22 Jan 2004 03:03:35 -0000      1.31
  @@ -126,6 +126,12 @@
   
   
       /**
  +     * Do we allow TRACE ?
  +     */
  +    private boolean allowTrace = false;
  +
  +
  +    /**
        * The input buffer size we should create on input streams.
        */
       private int bufferSize = 2048;
  @@ -525,6 +531,27 @@
   
       }
   
  +
  +    /**
  +     * True if the TRACE method is allowed.  Default value is "false".
  +     */
  +    public boolean getAllowTrace() {
  +
  +        return (this.allowTrace);
  +
  +    }
  +
  +
  +    /**
  +     * Set the allowTrace flag, to disable or enable the TRACE HTTP method.
  +     *
  +     * @param allowTrace The new allowTrace flag
  +     */
  +    public void setAllowTrace(boolean allowTrace) {
  +
  +        this.allowTrace = allowTrace;
  +
  +    }
   
       /**
        * Is this connector available for processing requests?
  
  
  

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

Reply via email to