remm        2005/04/16 10:49:19

  Modified:    http11/src/java/org/apache/coyote/http11
                        Http11AprProcessor.java
  Log:
  - Implement the few missing methods for getRemoteAddr, etc.
  
  Revision  Changes    Path
  1.5       +64 -37    
jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
  
  Index: Http11AprProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Http11AprProcessor.java   15 Apr 2005 16:06:30 -0000      1.4
  +++ Http11AprProcessor.java   16 Apr 2005 17:49:19 -0000      1.5
  @@ -40,6 +40,7 @@
   import org.apache.coyote.http11.filters.VoidOutputFilter;
   import org.apache.coyote.http11.filters.BufferedInputFilter;
   import org.apache.tomcat.jni.Address;
  +import org.apache.tomcat.jni.Sockaddr;
   import org.apache.tomcat.jni.Socket;
   import org.apache.tomcat.util.buf.Ascii;
   import org.apache.tomcat.util.buf.ByteChunk;
  @@ -735,7 +736,8 @@
           remotePort = -1;
           localPort = -1;
   
  -        // Setting up the I/O
  +        // Setting up the socket
  +        this.socket = socket;
           inputBuffer.setSocket(socket);
           outputBuffer.setSocket(socket);
   
  @@ -993,72 +995,97 @@
   
           } else if (actionCode == ActionCode.ACTION_REQ_HOST_ADDR_ATTRIBUTE) {
   
  -            // FIXME: Implement getting host address
  -            /*
  -            if ((remoteAddr == null) && (socket != null)) {
  -                InetAddress inetAddr = socket.getInetAddress();
  -                if (inetAddr != null) {
  -                    remoteAddr = inetAddr.getHostAddress();
  +            // Get remote host address
  +            if (remoteAddr == null) {
  +                try {
  +                    long sa = Address.get(Socket.APR_REMOTE, socket);
  +                    remoteAddr = Address.getip(sa);
  +                } catch (Exception e) {
  +                    // Ignore
  +                    e.printStackTrace();
                   }
               }
               request.remoteAddr().setString(remoteAddr);
  -            */
   
           } else if (actionCode == ActionCode.ACTION_REQ_LOCAL_NAME_ATTRIBUTE) 
{
   
  -            // FIXME: Implement getting local address
  -            /*
  -            if ((localName == null) && (socket != null)) {
  -                InetAddress inetAddr = socket.getLocalAddress();
  -                if (inetAddr != null) {
  -                    localName = inetAddr.getHostName();
  +            // Get local host name
  +            if (localName == null) {
  +                try {
  +                    long sa = Address.get(Socket.APR_LOCAL, socket);
  +                    localName = Address.getnameinfo(sa, 0);
  +                } catch (Exception e) {
  +                    // Ignore
  +                    e.printStackTrace();
                   }
               }
               request.localName().setString(localName);
  -            */
   
           } else if (actionCode == ActionCode.ACTION_REQ_HOST_ATTRIBUTE) {
   
  -            // FIXME: Implement
  -            /*
  -            if ((remoteHost == null) && (socket != null)) {
  -                InetAddress inetAddr = socket.getInetAddress();
  -                if (inetAddr != null) {
  -                    remoteHost = inetAddr.getHostName();
  +            // Get remote host name
  +            if (remoteHost == null) {
  +                try {
  +                    long sa = Address.get(Socket.APR_REMOTE, socket);
  +                    remoteHost = Address.getnameinfo(sa, 0);
  +                } catch (Exception e) {
  +                    // Ignore
  +                    e.printStackTrace();
                   }
               }
               request.remoteHost().setString(remoteHost);
  -            */
   
           } else if (actionCode == ActionCode.ACTION_REQ_LOCAL_ADDR_ATTRIBUTE) 
{
   
  -            // FIXME: Implement
  -            /*
  -            if (localAddr == null)
  -               localAddr = socket.getLocalAddress().getHostAddress();
  +            // Get local host address
  +            if (localAddr == null) {
  +                try {
  +                    long sa = Address.get(Socket.APR_LOCAL, socket);
  +                    Sockaddr addr = new Sockaddr();
  +                    if (Address.fill(addr, sa)) {
  +                        localAddr = addr.hostname;
  +                        localPort = addr.port;
  +                    }
  +                } catch (Exception e) {
  +                    // Ignore
  +                    e.printStackTrace();
  +                }
  +            }
   
               request.localAddr().setString(localAddr);
  -            */
   
           } else if (actionCode == ActionCode.ACTION_REQ_REMOTEPORT_ATTRIBUTE) 
{
   
  -            // FIXME: Implement
  -            /*
  -            if ((remotePort == -1 ) && (socket !=null)) {
  -                remotePort = socket.getPort();
  +            // Get remote port
  +            if (remotePort == -1) {
  +                try {
  +                    long sa = Address.get(Socket.APR_REMOTE, socket);
  +                    Sockaddr addr = Address.getInfo(sa);
  +                    remotePort = addr.port;
  +                } catch (Exception e) {
  +                    // Ignore
  +                    e.printStackTrace();
  +                }
               }
               request.setRemotePort(remotePort);
  -            */
   
           } else if (actionCode == ActionCode.ACTION_REQ_LOCALPORT_ATTRIBUTE) {
   
  -            // FIXME: Implement
  -            /*
  -            if ((localPort == -1 ) && (socket !=null)) {
  -                localPort = socket.getLocalPort();
  +            // Get local port
  +            if (localPort == -1) {
  +                try {
  +                    long sa = Address.get(Socket.APR_LOCAL, socket);
  +                    Sockaddr addr = new Sockaddr();
  +                    if (Address.fill(addr, sa)) {
  +                        localAddr = addr.hostname;
  +                        localPort = addr.port;
  +                    }
  +                } catch (Exception e) {
  +                    // Ignore
  +                    e.printStackTrace();
  +                }
               }
               request.setLocalPort(localPort);
  -            */
   
           } else if (actionCode == ActionCode.ACTION_REQ_SSL_CERTIFICATE) {
               if( sslSupport != null) {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to