[
https://issues.apache.org/jira/browse/NET-291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13009346#comment-13009346
]
Sebb commented on NET-291:
--------------------------
Out of curiosity, I just tried the following with NET 1.0.0 and with NET 1.4.1:
{code}
FTPClient c = new FTPClient();
System.out.println("mode "+c.getDataConnectionMode());
c.enterLocalPassiveMode();
System.out.println("mode "+c.getDataConnectionMode());
c.connect(...);
System.out.println("mode "+c.getDataConnectionMode());
{code}
Output:
{noformat}
mode 0
mode 2
mode 0
{noformat}
AFAICT, this shows that the behaviour has always been this way (unless one of
the intervening releases was different, but that seems very unlikely)
> enterLocalPassiveMode is set back to Active on connect
> ------------------------------------------------------
>
> Key: NET-291
> URL: https://issues.apache.org/jira/browse/NET-291
> Project: Commons Net
> Issue Type: Bug
> Components: FTP
> Affects Versions: 2.0
> Reporter: Kevin Brown
>
> enterLocalPassiveMode (exhibit A) docs claim that mode will be set to
> PASSIVE_LOCAL_DATA_CONNECTION_MODE "some other method such as"
> enterLocalActiveMode is called (exhibit B). However, active mode is being
> entered after connect is called. This behavior can be easily observed by
> modifying FtpExample by moving ftp.enterLocalPassiveMode() to before
> ftp.connect(server).
> Perhaps either the code or docs could be updated to remedy this. Versions
> prior to 2.0 behaved as documented.
>
> exhibit A:
> /***
> * Set the current data connection mode to
> * <code> PASSIVE_LOCAL_DATA_CONNECTION_MODE </code>. Use this
> * method only for data transfers between the client and server.
> * This method causes a PASV command to be issued to the server
> * before the opening of every data connection, telling the server to
> * open a data port to which the client will connect to conduct
> * data transfers. The FTPClient will stay in
> * <code> PASSIVE_LOCAL_DATA_CONNECTION_MODE </code> until the
> * mode is changed by calling some other method such as
> * {@link #enterLocalActiveMode enterLocalActiveMode() }
> ***/
> public void enterLocalPassiveMode()
> {
> __dataConnectionMode = PASSIVE_LOCAL_DATA_CONNECTION_MODE;
> // These will be set when just before a data connection is opened
> // in _openDataConnection_()
> __passiveHost = null;
> __passivePort = -1;
> }
> exhibit B
> @Override
> protected void _connectAction_() throws IOException
> {
> super._connectAction_();
> __initDefaults();
> }
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira