remm        02/04/03 07:57:11

  Modified:    coyote/src/java/org/apache/coyote/tomcat4
                        CoyoteProcessor.java CoyoteRequest.java
  Log:
  - Implement getRemoteHost and getRemoteAddr (unfortunate omission caused
    by the fact that I always test with a local client).
  - Uses Bill's idea of only doing the lookup once per connection.
  
  Revision  Changes    Path
  1.19      +7 -5      
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteProcessor.java
  
  Index: CoyoteProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteProcessor.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- CoyoteProcessor.java      31 Mar 2002 23:37:37 -0000      1.18
  +++ CoyoteProcessor.java      3 Apr 2002 15:57:11 -0000       1.19
  @@ -1,6 +1,6 @@
  -/* * $Header: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteProcessor.java,v
 1.18 2002/03/31 23:37:37 remm Exp $
  - * $Revision: 1.18 $
  - * $Date: 2002/03/31 23:37:37 $
  +/* * $Header: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteProcessor.java,v
 1.19 2002/04/03 15:57:11 remm Exp $
  + * $Revision: 1.19 $
  + * $Date: 2002/04/03 15:57:11 $
    *
    * ====================================================================
    *
  @@ -120,7 +120,7 @@
    *
    * @author Craig R. McClanahan
    * @author Remy Maucherat
  - * @version $Revision: 1.18 $ $Date: 2002/03/31 23:37:37 $
  + * @version $Revision: 1.19 $ $Date: 2002/04/03 15:57:11 $
    */
   
   final class CoyoteProcessor
  @@ -387,7 +387,6 @@
       protected void postParseRequest(Request req, Response res)
           throws IOException {
   
  -        request.setSocket(socket);
           request.setSecure(connector.getSecure());
           req.scheme().setString(connector.getScheme());
   
  @@ -805,6 +804,9 @@
        * @param socket The socket on which we are connected to the client
        */
       private void process(Socket socket) {
  +
  +        // Set socket
  +        request.setSocket(socket);
   
           InputStream input = null;
           OutputStream output = null;
  
  
  
  1.15      +33 -8     
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java
  
  Index: CoyoteRequest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- CoyoteRequest.java        28 Mar 2002 03:41:53 -0000      1.14
  +++ CoyoteRequest.java        3 Apr 2002 15:57:11 -0000       1.15
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java,v
 1.14 2002/03/28 03:41:53 remm Exp $
  - * $Revision: 1.14 $
  - * $Date: 2002/03/28 03:41:53 $
  + * $Header: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java,v
 1.15 2002/04/03 15:57:11 remm Exp $
  + * $Revision: 1.15 $
  + * $Date: 2002/04/03 15:57:11 $
    *
    * ====================================================================
    *
  @@ -70,6 +70,7 @@
   import java.io.IOException;
   import java.io.BufferedReader;
   import java.io.UnsupportedEncodingException;
  +import java.net.InetAddress;
   import java.net.Socket;
   import java.security.AccessController;
   import java.security.Principal;
  @@ -122,7 +123,7 @@
    *
    * @author Remy Maucherat
    * @author Craig R. McClanahan
  - * @version $Revision: 1.14 $ $Date: 2002/03/28 03:41:53 $
  + * @version $Revision: 1.15 $ $Date: 2002/04/03 15:57:11 $
    */
   
   public class CoyoteRequest
  @@ -355,6 +356,18 @@
       private StringParser parser = new StringParser();
   
   
  +    /**
  +     * Remote address.
  +     */
  +    protected String remoteAddr = null;
  +
  +
  +    /**
  +     * Remote host.
  +     */
  +    protected String remoteHost = null;
  +
  +
       // --------------------------------------------------------- Public Methods
   
   
  @@ -364,8 +377,6 @@
        */
       public void recycle() {
   
  -        socket = null;
  -
           context = null;
           wrapper = null;
   
  @@ -543,6 +554,8 @@
        */
       public void setSocket(Socket socket) {
           this.socket = socket;
  +        remoteHost = null;
  +        remoteAddr = null;
       }
   
   
  @@ -1002,7 +1015,11 @@
        * Return the remote IP address making this Request.
        */
       public String getRemoteAddr() {
  -        return coyoteRequest.remoteAddr().toString();
  +        if (remoteAddr == null) {
  +            InetAddress inet = socket.getInetAddress();
  +            remoteAddr = inet.getHostAddress();
  +        }
  +        return remoteAddr;
       }
   
   
  @@ -1010,7 +1027,15 @@
        * Return the remote host name making this Request.
        */
       public String getRemoteHost() {
  -        return coyoteRequest.remoteHost().toString();
  +        if (remoteHost == null) {
  +            if (connector.getEnableLookups()) {
  +                InetAddress inet = socket.getInetAddress();
  +                remoteHost = inet.getHostName();
  +            } else {
  +                remoteHost = getRemoteAddr();
  +            }
  +        }
  +        return remoteHost;
       }
   
   
  
  
  

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

Reply via email to