Author: rwinston Date: Sat Feb 7 11:05:43 2009 New Revision: 741874 URL: http://svn.apache.org/viewvc?rev=741874&view=rev Log: Some FTPS javadoc changes ; add error code 522
Modified: commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/SocketClient.java commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPClient.java commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPReply.java commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSClient.java commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSCommand.java commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSServerSocketFactory.java Modified: commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/SocketClient.java URL: http://svn.apache.org/viewvc/commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/SocketClient.java?rev=741874&r1=741873&r2=741874&view=diff ============================================================================== --- commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/SocketClient.java (original) +++ commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/SocketClient.java Sat Feb 7 11:05:43 2009 @@ -63,6 +63,7 @@ private static final SocketFactory __DEFAULT_SOCKET_FACTORY = SocketFactory.getDefault(); + /** The default {...@link ServerSocketFactory} */ private static final ServerSocketFactory __DEFAULT_SERVER_SOCKET_FACTORY = ServerSocketFactory.getDefault(); @@ -578,9 +579,16 @@ public int getConnectTimeout() { return connectTimeout; } - - - + + /** + * Get the underlying {...@link ServerSocketFactory} + * @return The server socket factory + * @since 2.1 + */ + public ServerSocketFactory getServerSocketFactory() { + return _serverSocketFactory_; + } + } Modified: commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPClient.java URL: http://svn.apache.org/viewvc/commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPClient.java?rev=741874&r1=741873&r2=741874&view=diff ============================================================================== --- commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPClient.java (original) +++ commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPClient.java Sat Feb 7 11:05:43 2009 @@ -2293,6 +2293,7 @@ FTPListParseEngine engine = new FTPListParseEngine(parser); + // TODO is this the correct thing to do? Should we throw an exception here? if ((socket = _openDataConnection_(FTPCommand.LIST, getListArguments(pathname))) == null) { return engine; Modified: commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPReply.java URL: http://svn.apache.org/viewvc/commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPReply.java?rev=741874&r1=741873&r2=741874&view=diff ============================================================================== --- commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPReply.java (original) +++ commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPReply.java Sat Feb 7 11:05:43 2009 @@ -27,6 +27,7 @@ * <p> * <p> * @author Daniel F. Savarese + * TODO replace with an enum ***/ public final class FTPReply @@ -124,6 +125,8 @@ public static final int CODE_335 = 335; /** @since 2.0 */ public static final int CODE_431 = 431; + /** @since 2.1 */ + public static final int CODE_522 = 522; /** @since 2.0 */ public static final int CODE_533 = 533; /** @since 2.0 */ @@ -143,6 +146,8 @@ public static final int SECURITY_DATA_IS_ACCEPTABLE = CODE_335; /** @since 2.0 */ public static final int UNAVAILABLE_RESOURCE = CODE_431; + /** @since 2.1 */ + public static final int BAD_TLS_NEGOTIATION_OR_DATA_ENCRYPTION_REQUIRED = CODE_522; /** @since 2.0 */ public static final int DENIED_FOR_POLICY_REASONS = CODE_533; /** @since 2.0 */ Modified: commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSClient.java URL: http://svn.apache.org/viewvc/commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSClient.java?rev=741874&r1=741873&r2=741874&view=diff ============================================================================== --- commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSClient.java (original) +++ commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSClient.java Sat Feb 7 11:05:43 2009 @@ -29,7 +29,6 @@ import javax.net.ssl.KeyManager; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLException; -import javax.net.ssl.SSLServerSocketFactory; import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; @@ -68,7 +67,7 @@ /** The context object. */ private SSLContext context; /** The socket object. */ - private Socket planeSocket; + private Socket plainSocket; /** The established socket flag. */ private boolean isCreation = true; /** The use client mode flag. */ @@ -217,9 +216,7 @@ * @throws IOException A handicap breaks out by sever negotiation. */ private void sslNegotiation() throws IOException { - // Evacuation not ssl socket. - planeSocket = _socket_; - + plainSocket = _socket_; initSslContext(); SSLSocketFactory ssf = context.getSocketFactory(); @@ -271,9 +268,11 @@ this.isCreation = isCreation; } - /** + /** * Returns true if new SSL sessions may be established by this socket. - * When a socket does not have a ssl socket, This return False. + * When the underlying {...@link Socket} instance is not SSL-enabled (i.e. an + * instance of {...@link SSLSocket} with {...@link sslsocke...@link #getEnableSessionCreation()}) enabled, + * this returns False. * @return true - Indicates that sessions may be created; * this is the default. * false - indicates that an existing session must be resumed. @@ -294,7 +293,7 @@ /** * Returns true if the socket will require client authentication. - * When a socket does not have a ssl socket, This return False. + * When the underlying {...@link Socket} is not an {...@link SSLSocket} instance, returns false. * @return true - If the server mode socket should request * that the client authenticate itself. */ @@ -316,7 +315,7 @@ /** * Returns true if the socket will request client authentication. - * When a socket does not have a ssl socket, This return False. + * When the underlying {...@link Socket} is not an {...@link SSLSocket} instance, returns false. * @return true - If the server mode socket should request * that the client authenticate itself. */ @@ -338,7 +337,7 @@ /** * Returns true if the socket is set to use client mode * in its first handshake. - * When a socket does not have a ssl socket, This return False. + * When the underlying {...@link Socket} is not an {...@link SSLSocket} instance, returns false. * @return true - If the socket should start its first handshake * in "client" mode. */ @@ -350,7 +349,7 @@ /** * Controls which particular cipher suites are enabled for use on this - * connection. I perform setting before a server negotiation. + * connection. Called before server negotiation. * @param cipherSuites The cipher suites. */ public void setEnabledCipherSuites(String[] cipherSuites) { @@ -361,7 +360,7 @@ /** * Returns the names of the cipher suites which could be enabled * for use on this connection. - * When a socket does not have a ssl socket, This return null. + * When the underlying {...@link Socket} is not an {...@link SSLSocket} instance, returns false. * @return An array of cipher suite names. */ public String[] getEnabledCipherSuites() { @@ -383,7 +382,7 @@ /** * Returns the names of the protocol versions which are currently * enabled for use on this connection. - * When a socket does not have a ssl socket, This return null. + * When the underlying {...@link Socket} is not an {...@link SSLSocket} instance, returns false. * @return An array of protocols. */ public String[] getEnabledProtocols() { @@ -395,8 +394,8 @@ /** * PBSZ command. pbsz value: 0 to (2^32)-1 decimal integer. * @param pbsz Protection Buffer Size. - * @throws SSLException If it server reply code not equal "200". - * @throws IOException If an I/O error occurs while either sending + * @throws SSLException If the server reply code does not equal "200". + * @throws IOException If an I/O error occurs while sending * the command. */ public void execPBSZ(long pbsz) throws SSLException, IOException { @@ -414,8 +413,8 @@ * E - Confidential(SSL protocol only)</br> * P - Private * @param prot Data Channel Protection Level. - * @throws SSLException If it server reply code not equal "200". - * @throws IOException If an I/O error occurs while either sending + * @throws SSLException If the server reply code does not equal "200". + * @throws IOException If an I/O error occurs while sending * the command. */ public void execPROT(String prot) throws SSLException, IOException { @@ -436,7 +435,7 @@ } /** - * I check the value that I can set in PROT Command value. + * Check the value that can be set in PROT Command value. * @param prot Data Channel Protection Level. * @return True - A set point is right / False - A set point is not right */ @@ -448,12 +447,12 @@ } /** - * I carry out an ftp command. - * When a CCC command was carried out, I steep socket and SocketFactory - * in a state of not ssl. - * @parm command ftp command. + * Send an FTP command. + * The CCC (Clear Command Channel) command causes the underlying {...@link SSLSocket} instance to be assigned + * to a plain {...@link Socket} instances + * @param command The FTP command. * @return server reply. - * @throws IOException If an I/O error occurs while either sending + * @throws IOException If an I/O error occurs while sending * the command. * @see org.apache.commons.net.ftp.FTP#sendCommand(java.lang.String) */ @@ -462,8 +461,7 @@ int repCode = super.sendCommand(command, args); if (FTPSCommand._commands[FTPSCommand.CCC].equals(command)) { if (FTPReply.COMMAND_OK == repCode) { - // TODO Check this - is this necessary at all? - _socket_ = planeSocket; + _socket_ = plainSocket; setSocketFactory(null); } else { throw new SSLException(getReplyString()); @@ -475,11 +473,11 @@ /** * Returns a socket of the data connection. * Wrapped as an {...@link SSLSocket}, which carries out handshake processing. - * @pram command The text representation of the FTP command to send. + * @param command The textual representation of the FTP command to send. * @param arg The arguments to the FTP command. * If this parameter is set to null, then the command is sent with - * no argument. - * @return A Socket corresponding to the established data connection. + * no arguments. + * @return corresponding to the established data connection. * Null is returned if an FTP protocol error is reported at any point * during the establishment and initialization of the connection. * @throws IOException If there is any problem with the connection. @@ -523,8 +521,5 @@ */ public void setTrustManager(TrustManager trustManager) { this.trustManager = trustManager; - } - - - + } } Modified: commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSCommand.java URL: http://svn.apache.org/viewvc/commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSCommand.java?rev=741874&r1=741873&r2=741874&view=diff ============================================================================== --- commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSCommand.java (original) +++ commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSCommand.java Sat Feb 7 11:05:43 2009 @@ -18,7 +18,7 @@ package org.apache.commons.net.ftp; /** - * I acquire a command added in FTPS. + * FTPS-specific command * @since 2.0 */ public final class FTPSCommand { Modified: commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSServerSocketFactory.java URL: http://svn.apache.org/viewvc/commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSServerSocketFactory.java?rev=741874&r1=741873&r2=741874&view=diff ============================================================================== --- commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSServerSocketFactory.java (original) +++ commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSServerSocketFactory.java Sat Feb 7 11:05:43 2009 @@ -30,6 +30,7 @@ */ public class FTPSServerSocketFactory extends ServerSocketFactory { + /** Factory for secure socket factories */ private SSLContext context; public FTPSServerSocketFactory(SSLContext context) { @@ -37,15 +38,15 @@ } public ServerSocket createServerSocket(int port) throws IOException { - return this.init(this.context.getServerSocketFactory().createServerSocket(port)); + return init(this.context.getServerSocketFactory().createServerSocket(port)); } public ServerSocket createServerSocket(int port, int backlog) throws IOException { - return this.init(this.context.getServerSocketFactory().createServerSocket(port, backlog)); + return init(this.context.getServerSocketFactory().createServerSocket(port, backlog)); } public ServerSocket createServerSocket(int port, int backlog, InetAddress ifAddress) throws IOException { - return this.init(this.context.getServerSocketFactory().createServerSocket(port, backlog, ifAddress)); + return init(this.context.getServerSocketFactory().createServerSocket(port, backlog, ifAddress)); } public ServerSocket init(ServerSocket socket) throws IOException {