commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (NET-472) FTPClient doesn't remember __dataConnectionMode
Date Sat, 18 Aug 2012 09:44:38 GMT

    [ https://issues.apache.org/jira/browse/NET-472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437282#comment-13437282
] 

Sebb commented on NET-472:
--------------------------

Having looked further at the code, I'm not 100% sure the __dataConnectionMode can be remembered
safely.

This is because it is also used for remote connect modes, which are only settable after the
connection is established.

If the code uses enterRemoteActiveMode or enterRemotePassiveMode and fails to reset the mode
afterwards using enterLocalActiveMode or enterLocalPassiveMode, then the client will be in
an unusable state.

Changing the behaviour will break any user code that relies on the initial setting of the
__dataConnectionMode.

In fact this is true of the other fields as well, so I think the behaviour needs to be retained.

If the code is ever redesigned, it would make sense to only reset fields when necessary, but
this should only be done for a major release (and possibly only when changing package name/Maven
coords)

                
> FTPClient doesn't remember __dataConnectionMode
> -----------------------------------------------
>
>                 Key: NET-472
>                 URL: https://issues.apache.org/jira/browse/NET-472
>             Project: Commons Net
>          Issue Type: Bug
>          Components: FTP
>            Reporter: Yuliya Polyeno
>            Priority: Minor
>
> There is an issue with FTPClient.
> 1) When you create FTPClient in constructor you invoke __initDefaults() which would set
__dataConnectionMode into ACTIVE_LOCAL_DATA_CONNECTION_MODE.
> 2) if you try after creation set up __dataConnectionMode into PASSIVE_LOCAL_DATA_CONNECTION_MODE
it will be overridden when you would invoke connect() method because connect method again
will invoke __initDefaults() which will override my setup, the same will happen when you disconect()
because it will invoke __initDefaults() again.
> I believe this is wrong behavior I don't need to switch on passive mode every time after
connect. It should be only done when I create FTPClient.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message