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