billbarker 02/03/15 20:47:30 Modified: coyote/src/java/org/apache/coyote/tomcat3 CoyoteProcessor.java CoyoteRequest.java Log: Fix problem with getRemoteAddr() and getRemoteHost(). Since I'm the only one with a socket, it's not possible to delegate this to the coyoteRequest. This is basically a back-port from the Http10Request. Revision Changes Path 1.4 +1 -9 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat3/CoyoteProcessor.java Index: CoyoteProcessor.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat3/CoyoteProcessor.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- CoyoteProcessor.java 12 Mar 2002 04:31:51 -0000 1.3 +++ CoyoteProcessor.java 16 Mar 2002 04:47:30 -0000 1.4 @@ -80,8 +80,6 @@ private CoyoteResponse resA; private ContextManager cm; private boolean secure=false; - private int serverPort=-1; - private String localHost = null; private SSLImplementation sslImplementation=null; private SSLSupport sslSupport=null; @@ -96,8 +94,6 @@ secure = false; sslImplementation=null; sslSupport=null; - serverPort=-1; - localHost=null; } public void setSSLImplementation(SSLImplementation ssl) { @@ -107,9 +103,7 @@ secure = isSecure; } public void setSocket(Socket socket) { - serverPort = socket.getLocalPort(); - InetAddress localAddress = socket.getLocalAddress(); - localHost = localAddress.getHostName(); + reqA.setSocket(socket); if( secure ) { // Load up the SSLSupport class if(sslImplementation != null) @@ -120,8 +114,6 @@ org.apache.coyote.Response response) throws Exception{ reqA.setCoyoteRequest(request); - reqA.setServerPort(serverPort); - request.setLocalHost(localHost); resA.setCoyoteResponse(response); if( secure ) { reqA.scheme().setString( "https" ); 1.5 +23 -4 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat3/CoyoteRequest.java Index: CoyoteRequest.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat3/CoyoteRequest.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- CoyoteRequest.java 12 Mar 2002 04:30:55 -0000 1.4 +++ CoyoteRequest.java 16 Mar 2002 04:47:30 -0000 1.5 @@ -83,17 +83,23 @@ int pos=-1; int end=-1; byte [] readBuffer = null; - + Socket socket = null; + public CoyoteRequest() { super(); + remoteAddrMB.recycle(); + remoteHostMB.recycle(); } public void recycle() { super.recycle(); if( coyoteRequest != null) coyoteRequest.recycle(); + remoteAddrMB.recycle(); + remoteHostMB.recycle(); readChunk.recycle(); sslSupport=null; + readBuffer=null; pos=-1; end=-1; } @@ -120,6 +126,9 @@ params.setHeaders(headers); } + public void setSocket(Socket socket) { + this.socket = socket; + } public int doRead() throws IOException { if( available == 0 ) @@ -201,16 +210,26 @@ // -------------------- override special methods public MessageBytes remoteAddr() { - return coyoteRequest.remoteAddr(); + if( remoteAddrMB.isNull() ) { + remoteAddrMB.setString(socket.getInetAddress().getHostAddress()); + } + return remoteAddrMB; } public MessageBytes remoteHost() { - return coyoteRequest.remoteHost(); + if( remoteHostMB.isNull() ) { + remoteHostMB.setString( socket.getInetAddress().getHostName() ); + } + return remoteHostMB; } public String getLocalHost() { - return coyoteRequest.getLocalHost(); + InetAddress localAddress = socket.getLocalAddress(); + localHost = localAddress.getHostName(); + return localHost; + } + public MessageBytes serverName(){ if(! serverNameMB.isNull()) return serverNameMB; parseHostHeader();
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>