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]>