Author: ngn
Date: Sun Dec 14 14:09:18 2008
New Revision: 726556

URL: http://svn.apache.org/viewvc?rev=726556&view=rev
Log:
Clean up the code somewhat

Modified:
    
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java

Modified: 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java?rev=726556&r1=726555&r2=726556&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java
 Sun Dec 14 14:09:18 2008
@@ -198,8 +198,12 @@
                     throw new DataConnectionException(
                             "Data connection SSL required but not 
configured.");
                 }
-                servSoc = createSecureServerSocket(address, passivePort);
-                port = servSoc.getLocalPort();
+                
+                // this method does not actually create the SSL socket, due to 
a JVM bug 
+                // (https://issues.apache.org/jira/browse/FTPSERVER-241).
+                // Instead, it creates a regular
+                // ServerSocket that will be wrapped as a SSL socket in 
createDataSocket()
+                servSoc = new ServerSocket(passivePort, 0, address);
                 LOG
                         .debug(
                                 "SSL Passive data connection created on 
address \"{}\" and port {}",
@@ -210,12 +214,12 @@
                                 "Opening passive data connection on address 
\"{}\" and port {}",
                                 address, passivePort);
                 servSoc = new ServerSocket(passivePort, 0, address);
-                port = servSoc.getLocalPort();
                 LOG
                         .debug(
                                 "Passive data connection created on address 
\"{}\" and port {}",
                                 address, passivePort);
             }
+            port = servSoc.getLocalPort();
             servSoc.setSoTimeout(dataCfg.getIdleTime() * 1000);
 
             // set different state variables
@@ -232,24 +236,6 @@
         }
     }
 
-    private ServerSocket createSecureServerSocket(
-            final InetAddress address2, final int passivePort)
-            throws IOException, GeneralSecurityException {
-        // this method does not actually create the SSL socket, due to a JVM 
bug 
-        // (https://issues.apache.org/jira/browse/FTPSERVER-241).
-        // Instead, it creates a regular
-        // ServerSocket that will be wrapped as a SSL socket in 
createDataSocket()
-        
-        ServerSocket internalServerSocket ;
-        if (address2 == null) {
-            internalServerSocket = new ServerSocket(passivePort);
-        } else {
-            internalServerSocket = new ServerSocket(passivePort, 100, 
address2);
-        }
-        
-        return internalServerSocket;
-    }
-
     /*
      * (non-Javadoc)
      * 
@@ -318,6 +304,9 @@
                 LOG.debug("Opening passive data connection");
 
                 if(secure) {
+                    // this is where we wrap the unsecured socket as a 
SSLSocket. This is 
+                    // due to the JVM bug described in FTPSERVER-241.
+                    
                     // get server socket factory
                     SslConfiguration ssl = getSslConfiguration();
 
@@ -354,9 +343,11 @@
             throw ex;
         }
         dataSoc.setSoTimeout(dataConfig.getIdleTime()*1000);
-        // Make sure we initate the SSL handshake, or we'll
+        
+        
+        // Make sure we initiate the SSL handshake, or we'll
         // get an error if we turn out not to send any data
-        // e.g. during the listing of an empty dir
+        // e.g. during the listing of an empty directory
         if (dataSoc instanceof SSLSocket) {
             ((SSLSocket) dataSoc).startHandshake();
         }


Reply via email to