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]