Author: sebb Date: Thu Mar 17 02:54:39 2011 New Revision: 1082385 URL: http://svn.apache.org/viewvc?rev=1082385&view=rev Log: Add default port. General tidyup.
Modified: commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/FTPSClient.java Modified: commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/FTPSClient.java URL: http://svn.apache.org/viewvc/commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/FTPSClient.java?rev=1082385&r1=1082384&r2=1082385&view=diff ============================================================================== --- commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/FTPSClient.java (original) +++ commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/FTPSClient.java Thu Mar 17 02:54:39 2011 @@ -23,8 +23,6 @@ import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.Socket; -import java.security.NoSuchAlgorithmException; - import javax.net.ssl.KeyManager; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLException; @@ -43,6 +41,16 @@ import org.apache.commons.net.util.SSLCo */ public class FTPSClient extends FTPClient { +// From http://www.iana.org/assignments/port-numbers + +// ftps-data 989/tcp ftp protocol, data, over TLS/SSL +// ftps-data 989/udp ftp protocol, data, over TLS/SSL +// ftps 990/tcp ftp protocol, control, over TLS/SSL +// ftps 990/udp ftp protocol, control, over TLS/SSL + + public static final int DEFAULT_FTPS_DATA_PORT = 989; + public static final int DEFAULT_FTPS_PORT = 990; + /** The value that I can set in PROT command (C = Clear, P = Protected) */ private static final String[] PROT_COMMAND_VALUE = {"C","E","S","P"}; /** Default PROT Command */ @@ -73,54 +81,48 @@ public class FTPSClient extends FTPClien /** The protocol versions */ private String[] protocols = null; - /** The FTPS {@link TrustManager} implementation. */ - private TrustManager trustManager = new FTPSTrustManager(); + /** The FTPS {@link TrustManager} implementation, default null (i.e. use system default). */ + private TrustManager trustManager = null; - /** The {@link KeyManager} */ - private KeyManager keyManager; + /** The {@link KeyManager}, default null (i.e. use system default). */ + private KeyManager keyManager = null; /** * Constructor for FTPSClient. * Sets security mode to explicit (isImplicit = false) - * @throws NoSuchAlgorithmException A requested cryptographic algorithm * is not available in the environment. */ - public FTPSClient() throws NoSuchAlgorithmException { - this.protocol = DEFAULT_PROTOCOL; - this.isImplicit = false; + public FTPSClient() { + this(DEFAULT_PROTOCOL, false); } /** * Constructor for FTPSClient. * @param isImplicit The security mode (Implicit/Explicit). - * @throws NoSuchAlgorithmException A requested cryptographic algorithm * is not available in the environment. */ - public FTPSClient(boolean isImplicit) throws NoSuchAlgorithmException { - this.protocol = DEFAULT_PROTOCOL; - this.isImplicit = isImplicit; + public FTPSClient(boolean isImplicit) { + this(DEFAULT_PROTOCOL, isImplicit); } /** * Constructor for FTPSClient. * @param protocol the protocol - * @throws NoSuchAlgorithmException A requested cryptographic algorithm * is not available in the environment. */ - public FTPSClient(String protocol) throws NoSuchAlgorithmException { - this.protocol = protocol; - this.isImplicit = false; + public FTPSClient(String protocol) { + this(protocol, false); } /** * Constructor for FTPSClient. * @param protocol the protocol * @param isImplicit The security mode(Implicit/Explicit). - * @throws NoSuchAlgorithmException A requested cryptographic algorithm * is not available in the environment. */ - public FTPSClient(String protocol, boolean isImplicit) - throws NoSuchAlgorithmException { + public FTPSClient(String protocol, boolean isImplicit) { + super(); + setDefaultPort(DEFAULT_FTPS_PORT); this.protocol = protocol; this.isImplicit = isImplicit; } @@ -131,9 +133,8 @@ public class FTPSClient extends FTPClien * @param context A pre-configured SSL Context */ public FTPSClient(boolean isImplicit, SSLContext context) { - this.isImplicit = isImplicit; + this(DEFAULT_PROTOCOL, isImplicit); this.context = context; - this.protocol = DEFAULT_PROTOCOL; } /** @@ -255,6 +256,7 @@ public class FTPSClient extends FTPClien * Set a {@link KeyManager} to use * * @param keyManager The KeyManager implementation to set. + * @see org.apache.commons.net.util.KeyManagerUtils */ public void setKeyManager(KeyManager keyManager) { this.keyManager = keyManager; @@ -532,6 +534,7 @@ public class FTPSClient extends FTPClien * Override the default {@link TrustManager} to use. * * @param trustManager The TrustManager implementation to set. + * @see org.apache.commons.net.util.TrustManagerUtils */ public void setTrustManager(TrustManager trustManager) { this.trustManager = trustManager;