[ 
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

Reply via email to