Author: remm
Date: Mon Nov 7 01:57:55 2005
New Revision: 331249
URL: http://svn.apache.org/viewcvs?rev=331249&view=rev
Log:
- Fix swallowed NPE problem with APR connectors when there's no host header.
The mapper will simply use the default host name in that case.
- Some small cleanups also, like removing the unused Request.localHost field.
Modified:
tomcat/connectors/trunk/coyote/src/java/org/apache/coyote/Request.java
tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Processor.java
tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java
tomcat/connectors/trunk/util/java/org/apache/tomcat/util/http/mapper/Mapper.java
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/CoyoteAdapter.java
Modified: tomcat/connectors/trunk/coyote/src/java/org/apache/coyote/Request.java
URL:
http://svn.apache.org/viewcvs/tomcat/connectors/trunk/coyote/src/java/org/apache/coyote/Request.java?rev=331249&r1=331248&r2=331249&view=diff
==============================================================================
--- tomcat/connectors/trunk/coyote/src/java/org/apache/coyote/Request.java
(original)
+++ tomcat/connectors/trunk/coyote/src/java/org/apache/coyote/Request.java Mon
Nov 7 01:57:55 2005
@@ -88,8 +88,6 @@
private int serverPort = -1;
private MessageBytes serverNameMB = MessageBytes.newInstance();
- private String localHost;
-
private int remotePort;
private int localPort;
@@ -244,14 +242,6 @@
public MessageBytes localAddr() {
return localAddrMB;
}
-
- public String getLocalHost() {
- return localHost;
- }
-
- public void setLocalHost(String host) {
- this.localHost = host;
- }
public int getRemotePort(){
return remotePort;
Modified:
tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
URL:
http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=331249&r1=331248&r2=331249&view=diff
==============================================================================
---
tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
(original)
+++
tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
Mon Nov 7 01:57:55 2005
@@ -1400,12 +1400,7 @@
// HTTP/1.0
// Default is what the socket tells us. Overriden if a host is
// found/parsed
- request.setServerPort(endpoint.getPort()/*socket.getLocalPort()*/);
- InetAddress localAddress =
endpoint.getAddress()/*socket.getLocalAddress()*/;
- // Setting the socket-related fields. The adapter doesn't know
- // about socket.
- request.setLocalHost(localAddress.getHostName());
- request.serverName().setString(localAddress.getHostName());
+ request.setServerPort(endpoint.getPort());
return;
}
Modified:
tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Processor.java
URL:
http://svn.apache.org/viewcvs/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Processor.java?rev=331249&r1=331248&r2=331249&view=diff
==============================================================================
---
tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Processor.java
(original)
+++
tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11Processor.java
Mon Nov 7 01:57:55 2005
@@ -1355,7 +1355,6 @@
InetAddress localAddress = socket.getLocalAddress();
// Setting the socket-related fields. The adapter doesn't know
// about socket.
- request.setLocalHost(localAddress.getHostName());
request.serverName().setString(localAddress.getHostName());
return;
}
Modified:
tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java
URL:
http://svn.apache.org/viewcvs/tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=331249&r1=331248&r2=331249&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java
(original)
+++ tomcat/connectors/trunk/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java
Mon Nov 7 01:57:55 2005
@@ -834,18 +834,7 @@
// HTTP/1.0
// Default is what the socket tells us. Overriden if a host is
// found/parsed
- request.setServerPort(endpoint.getPort()/*socket.getLocalPort()*/);
- InetAddress localAddress =
endpoint.getAddress()/*socket.getLocalAddress()*/;
- // Setting the socket-related fields. The adapter doesn't know
- // about socket.
- if(localAddress != null) {
- request.setLocalHost(localAddress.getHostName());
- request.serverName().setString(localAddress.getHostName());
- } else {
- log.error("host address " + endpoint.getPort() + " '" +
endpoint.getAddress() + "'");
- request.setLocalHost("localhost");
- request.serverName().setString("localhost");
- }
+ request.setServerPort(endpoint.getPort());
return;
}
Modified:
tomcat/connectors/trunk/util/java/org/apache/tomcat/util/http/mapper/Mapper.java
URL:
http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/http/mapper/Mapper.java?rev=331249&r1=331248&r2=331249&view=diff
==============================================================================
---
tomcat/connectors/trunk/util/java/org/apache/tomcat/util/http/mapper/Mapper.java
(original)
+++
tomcat/connectors/trunk/util/java/org/apache/tomcat/util/http/mapper/Mapper.java
Mon Nov 7 01:57:55 2005
@@ -507,6 +507,9 @@
MappingData mappingData)
throws Exception {
+ if (host.isNull()) {
+ host.getCharChunk().append(defaultHostName);
+ }
host.toChars();
uri.toChars();
internalMap(host.getCharChunk(), uri.getCharChunk(), mappingData);
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/CoyoteAdapter.java
URL:
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/CoyoteAdapter.java?rev=331249&r1=331248&r2=331249&view=diff
==============================================================================
---
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/CoyoteAdapter.java
(original)
+++
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/CoyoteAdapter.java
Mon Nov 7 01:57:55 2005
@@ -260,9 +260,9 @@
// Request mapping.
MessageBytes serverName;
- if(connector.getUseIPVHosts()) {
+ if (connector.getUseIPVHosts()) {
serverName = req.localName();
- if(serverName.isNull()) {
+ if (serverName.isNull()) {
// well, they did ask for it
res.action(ActionCode.ACTION_REQ_LOCAL_NAME_ATTRIBUTE, null);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]