Author: mturk
Date: Fri Feb 10 03:07:52 2006
New Revision: 376634

URL: http://svn.apache.org/viewcvs?rev=376634&view=rev
Log:
Use APR_UNSPEC only! if apr was compiled with IPV6 support.

Modified:
    
tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java

Modified: 
tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: 
http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=376634&r1=376633&r2=376634&view=diff
==============================================================================
--- 
tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java 
(original)
+++ 
tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java 
Fri Feb 10 03:07:52 2006
@@ -174,7 +174,7 @@
      */
     protected long serverSockPool = 0;
 
-    
+
     /**
      * SSL context.
      */
@@ -356,7 +356,7 @@
      */
     public int getMinSpareThreads() { return 0; }
 
-    
+
     /**
      * SSL engine.
      */
@@ -364,7 +364,7 @@
     public String getSSLEngine() { return SSLEngine; }
     public void setSSLEngine(String SSLEngine) { this.SSLEngine = SSLEngine; }
 
-    
+
     /**
      * SSL protocols.
      */
@@ -372,7 +372,7 @@
     public String getSSLProtocol() { return SSLProtocol; }
     public void setSSLProtocol(String SSLProtocol) { this.SSLProtocol = 
SSLProtocol; }
 
-    
+
     /**
      * SSL password (if a cert is encrypted, and no password has been 
provided, a callback
      * will ask for a password).
@@ -388,15 +388,15 @@
     protected String SSLCipherSuite = "ALL";
     public String getSSLCipherSuite() { return SSLCipherSuite; }
     public void setSSLCipherSuite(String SSLCipherSuite) { this.SSLCipherSuite 
= SSLCipherSuite; }
-    
-    
+
+
     /**
      * SSL certificate file.
      */
     protected String SSLCertificateFile = null;
     public String getSSLCertificateFile() { return SSLCertificateFile; }
     public void setSSLCertificateFile(String SSLCertificateFile) { 
this.SSLCertificateFile = SSLCertificateFile; }
-    
+
 
     /**
      * SSL certificate key file.
@@ -405,14 +405,14 @@
     public String getSSLCertificateKeyFile() { return SSLCertificateKeyFile; }
     public void setSSLCertificateKeyFile(String SSLCertificateKeyFile) { 
this.SSLCertificateKeyFile = SSLCertificateKeyFile; }
 
-    
+
     /**
      * SSL certificate chain file.
      */
     protected String SSLCertificateChainFile = null;
     public String getSSLCertificateChainFile() { return 
SSLCertificateChainFile; }
     public void setSSLCertificateChainFile(String SSLCertificateChainFile) { 
this.SSLCertificateChainFile = SSLCertificateChainFile; }
-    
+
 
     /**
      * SSL CA certificate path.
@@ -420,23 +420,23 @@
     protected String SSLCACertificatePath = null;
     public String getSSLCACertificatePath() { return SSLCACertificatePath; }
     public void setSSLCACertificatePath(String SSLCACertificatePath) { 
this.SSLCACertificatePath = SSLCACertificatePath; }
-    
-    
+
+
     /**
      * SSL CA certificate file.
      */
     protected String SSLCACertificateFile = null;
     public String getSSLCACertificateFile() { return SSLCACertificateFile; }
     public void setSSLCACertificateFile(String SSLCACertificateFile) { 
this.SSLCACertificateFile = SSLCACertificateFile; }
-    
-    
+
+
     /**
      * SSL CA revocation path.
      */
     protected String SSLCARevocationPath = null;
     public String getSSLCARevocationPath() { return SSLCARevocationPath; }
     public void setSSLCARevocationPath(String SSLCARevocationPath) { 
this.SSLCARevocationPath = SSLCARevocationPath; }
-    
+
 
     /**
      * SSL CA revocation file.
@@ -444,24 +444,24 @@
     protected String SSLCARevocationFile = null;
     public String getSSLCARevocationFile() { return SSLCARevocationFile; }
     public void setSSLCARevocationFile(String SSLCARevocationFile) { 
this.SSLCARevocationFile = SSLCARevocationFile; }
-    
-    
+
+
     /**
      * SSL verify client.
      */
     protected String SSLVerifyClient = "none";
     public String getSSLVerifyClient() { return SSLVerifyClient; }
     public void setSSLVerifyClient(String SSLVerifyClient) { 
this.SSLVerifyClient = SSLVerifyClient; }
-     
-    
+
+
     /**
      * SSL verify depth.
      */
     protected int SSLVerifyDepth = 10;
     public int getSSLVerifyDepth() { return SSLVerifyDepth; }
     public void setSSLVerifyDepth(int SSLVerifyDepth) { this.SSLVerifyDepth = 
SSLVerifyDepth; }
-    
-    
+
+
     // --------------------------------------------------------- Public Methods
 
 
@@ -528,13 +528,16 @@
         } else {
             addressStr = address.getHostAddress();
         }
-        long inetAddress = Address.info(addressStr, Socket.APR_UNSPEC,
+        int family = Socket.APR_INET;
+        if (Library.APR_HAVE_IPV6)
+            family= Socket.APR_UNSPEC;
+        long inetAddress = Address.info(addressStr, family,
                 port, 0, rootPool);
         // Create the APR server socket
-        serverSock = Socket.create(Socket.APR_UNSPEC, Socket.SOCK_STREAM,
+        serverSock = Socket.create(family, Socket.SOCK_STREAM,
                 Socket.APR_PROTO_TCP, rootPool);
         if (OS.IS_UNIX) {
-            Socket.optSet(serverSock, Socket.APR_SO_REUSEADDR, 1);    
+            Socket.optSet(serverSock, Socket.APR_SO_REUSEADDR, 1);
         }
         // Deal with the firewalls that tend to drop the inactive sockets
         Socket.optSet(serverSock, Socket.APR_SO_KEEPALIVE, 1);
@@ -550,7 +553,7 @@
         }
         if (OS.IS_WIN32 || OS.IS_WIN64) {
             // On Windows set the reuseaddr flag after the bind/listen
-            Socket.optSet(serverSock, Socket.APR_SO_REUSEADDR, 1);    
+            Socket.optSet(serverSock, Socket.APR_SO_REUSEADDR, 1);
         }
 
         // Sendfile usage on systems which don't support it cause major 
problems
@@ -558,12 +561,12 @@
             log.warn(sm.getString("endpoint.sendfile.nosupport"));
             useSendfile = false;
         }
-        
+
         // Delay accepting of new connections until data is available
         // Only Linux kernels 2.4 + have that implemented
         // on other platforms this call is noop and will return APR_ENOTIMPL.
         Socket.optSet(serverSock, Socket.APR_TCP_DEFER_ACCEPT, 1);
-        
+
         // Initialize SSL if needed
         if (!"off".equalsIgnoreCase(SSLEngine)) {
             // Initialize SSL
@@ -609,7 +612,7 @@
             // For now, sendfile is not supported with SSL
             useSendfile = false;
         }
-        
+
         initialized = true;
 
     }
@@ -782,7 +785,7 @@
                         log.debug(sm.getString("endpoint.err.handshake") + ": 
" + SSL.getLastError());
                     }
                     return false;
-                }                                 
+                }
             }
 
         } catch (Throwable t) {
@@ -1480,7 +1483,7 @@
                                 } else {
                                     // Close the socket since this is
                                     // the end of not keep-alive request.
-                                    Socket.destroy(state.socket);   
+                                    Socket.destroy(state.socket);
                                 }
                             }
                         }



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

Reply via email to