Work around Tomcat/AJP bug.
authorFredrik Tolf <fredrik@dolda2000.com>
Fri, 16 Oct 2009 03:57:50 +0000 (05:57 +0200)
committerFredrik Tolf <fredrik@dolda2000.com>
Fri, 16 Oct 2009 03:57:50 +0000 (05:57 +0200)
src/dolda/jsvc/j2ee/J2eeRequest.java

index 574355f..6b1ba0b 100644 (file)
@@ -77,7 +77,11 @@ public class J2eeRequest extends ResponseBuffer {
     
     public SocketAddress remoteaddr() {
        try {
-           return(new InetSocketAddress(InetAddress.getByName(req.getRemoteAddr()), req.getRemotePort()));
+           /* Apparently getRemotePort returns -1 when running on Tomcat over AJP. */
+           int port = req.getRemotePort();
+           if(port < 0)
+               port = 0;
+           return(new InetSocketAddress(InetAddress.getByName(req.getRemoteAddr()), port));
        } catch(UnknownHostException e) {
            /* req.getRemoteAddr should always be a valid IP address,
             * so this should never happen. */