luehe       2003/06/05 09:42:48

  Modified:    coyote/src/java/org/apache/coyote Request.java
               http11/src/java/org/apache/coyote/http11
                        Http11Processor.java Http11Protocol.java
  Log:
  Removed setSocket() method from org.apache.catalina.Request, since it
  was never called in any of the classes implementing this interface.
  
  For example, setSocket() was never called on
  org.apache.coyote.tomcat5.CoyoteRequest, causing its getSocket()
  method to always return null, which broke the CertificatesValve, which
  relies on having access to the (SSL)Socket so that it can reinitiate a
  handshake if necessary.
  
  Instead, added setSocket() and getSocket() methods on org.apache.coyote.Request:
  
  - setSocket() is called as part of
    org.apache.coyote.http11.Http11Processor.setSocket(), as follows:
  
      public void setSocket(Socket socket)
          throws IOException {
          this.socket = socket;
          this.request.setSocket(socket); // NEW
      }
  
  - getSocket() is called as part of
    org.apache.coyote.tomcat5.CoyoteRequest.getSocket(), as follows:
  
  diff -u -r1.5 CoyoteRequest.java
  --- CoyoteRequest.java  31 May 2003 15:00:25 -0000      1.5
  +++ CoyoteRequest.java  5 Jun 2003 16:41:17 -0000
  @@ -633,20 +633,7 @@
        * an SSLSocket.
        */
       public Socket getSocket() {
  -        return (socket);
  -    }
  -
  -    /**
  -     * Set the Socket (if any) through which this Request was received.
  -     *
  -     * @param socket The socket through which this request was received
  -     */
  -    public void setSocket(Socket socket) {
  -        this.socket = socket;
  -        remoteHost = null;
  -        remoteAddr = null;
  -        remotePort = -1;
  -        localAddr = null;
  +        return coyoteRequest.getSocket();
       }
  
  Revision  Changes    Path
  1.21      +20 -0     
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/Request.java
  
  Index: Request.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/Request.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- Request.java      23 Mar 2003 08:57:48 -0000      1.20
  +++ Request.java      5 Jun 2003 16:42:48 -0000       1.21
  @@ -62,6 +62,7 @@
   
   import java.io.IOException;
   import java.util.Hashtable;
  +import java.net.Socket;
   
   import org.apache.tomcat.util.buf.ByteChunk;
   import org.apache.tomcat.util.buf.MessageBytes;
  @@ -137,6 +138,8 @@
       
       private int remotePort;
   
  +    private Socket socket;
  +
       private MessageBytes schemeMB = new MessageBytes();
   
       private MessageBytes methodMB = new MessageBytes();
  @@ -304,6 +307,23 @@
           this.remotePort = port;
       }
   
  +    /**
  +     * Sets the socket through which this request was received.
  +     *
  +     * @param socket The socket through which this request was received
  +     */
  +    public void setSocket(Socket socket) {
  +     this.socket = socket;
  +    }
  +
  +    /**
  +     * Gets the socket through which this request was received.
  +     *
  +     * @return The socket through which this request was received
  +     */
  +    public Socket getSocket() {
  +     return socket;
  +    }
   
       // -------------------- encoding/type --------------------
   
  
  
  
  1.66      +1 -0      
jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java
  
  Index: Http11Processor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java,v
  retrieving revision 1.65
  retrieving revision 1.66
  diff -u -r1.65 -r1.66
  --- Http11Processor.java      13 May 2003 22:45:58 -0000      1.65
  +++ Http11Processor.java      5 Jun 2003 16:42:48 -0000       1.66
  @@ -517,6 +517,7 @@
       public void setSocket(Socket socket)
           throws IOException {
           this.socket = socket;
  +     this.request.setSocket(socket);
       }
   
       /**
  
  
  
  1.27      +6 -5      
jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Protocol.java
  
  Index: Http11Protocol.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Protocol.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- Http11Protocol.java       22 May 2003 04:51:03 -0000      1.26
  +++ Http11Protocol.java       5 Jun 2003 16:42:48 -0000       1.27
  @@ -86,8 +86,8 @@
    */
   public class Http11Protocol implements ProtocolHandler, MBeanRegistration
   {
  -
       public Http11Protocol() {
  +     cHandler = new Http11ConnectionHandler( this );
           setSoLinger(Constants.DEFAULT_CONNECTION_LINGER);
           setSoTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT);
           setServerSoTimeout(Constants.DEFAULT_SERVER_SOCKET_TIMEOUT);
  @@ -99,9 +99,6 @@
       protected static StringManager sm =
           StringManager.getManager(Constants.Package);
   
  -    Adapter adapter;
  -    Http11ConnectionHandler cHandler=new Http11ConnectionHandler( this );
  -
       /** Pass config info
        */
       public void setAttribute( String name, Object value ) {
  @@ -220,6 +217,9 @@
       private String reportedname;
       private int socketCloseDelay=-1;
       private boolean disableUploadTimeout = true;
  +    private Adapter adapter;
  +    private Http11ConnectionHandler cHandler;
  +
       /**
        * Compression value.
        */
  @@ -442,7 +442,8 @@
               return  thData;
           }
   
  -        public void processConnection(TcpConnection connection, Object thData[]) {
  +        public void processConnection(TcpConnection connection,
  +                                   Object thData[]) {
               Socket socket=null;
               Http11Processor  processor=null;
               try {
  
  
  

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

Reply via email to