[
https://issues.apache.org/jira/browse/NET-470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13294501#comment-13294501
]
Alexander Schuetz commented on NET-470:
---------------------------------------
I just talked to the FTP-Server admin. He told me that they are using the
PSFTP-server v.1.5 Build 199.
Passive ports are between 9990 and 9999.
netstat-result: (xxx.xxx.xxx.xxx = IP in local network; yyy.yyy.yyy.yyy = IP of
ftp-server)
{color:blue}
{{TCP xxx.xxx.xxx.xxx:49980 yyy.yyy.yyy.yyy:ftps ESTABLISHED}}
{{TCP xxx.xxx.xxx.xxx:49983 yyy.yyy.yyy.yyy:9999 ESTABLISHED}}
{color}
> DataConnection-Socket hangs on InputStream.read()
> -------------------------------------------------
>
> Key: NET-470
> URL: https://issues.apache.org/jira/browse/NET-470
> Project: Commons Net
> Issue Type: Bug
> Components: FTP
> Affects Versions: 3.1
> Environment: Windows 7 (x86), Netbeans 7, JDK 1.6 and JDK 1.7
> Reporter: Alexander Schuetz
> Attachments: examplePatch.diff
>
>
> I'm using ftps (SSL/implicit) and passive mode. connect(), login() and cwd()
> commands work well.
> But if I have to open a data connection (for example for LIST) the socket is
> opened successfully using one of the desired "dataports". The underlying
> InputStream is created as well without any Exception.
> But then every attempt to read from the InputStream will eventually time out
> or hang forever (depending on the DataTimeout-value).
> If I use the FileZilla client, everything works successfully and fast.
> FileZilla issues the following commands:
> {color:blue}
> {{C: SYST}}
> {{A: 215 UNIX Type: L8}}
> {{C: FEAT}}
> {{A: 211-Extensions supported}}
> {{A: SIZE}}
> {{A: REST}}
> {{A: MDTM}}
> {{A: MFMT YYYYMMDDHHMMSS filename}}
> {{A: MDTM YYYYMMDDHHMMSS filename}}
> {{A: MDTM YYYYMMDDHHMMSS[+-TZ] filename}}
> {{A: XCRC filename}}
> {{A: XMD5 filename}}
> {{A: AUTH TLS}}
> {{A: AUTH SSL}}
> {{A: MODE Z}}
> {{A: PBSZ}}
> {{A: PROT}}
> {{A: 211 End of FEAT}}
> {{C: USER ********}}
> {{A: 331 Password required for ********}}
> {{C: PASS ********}}
> {{A: 230 User ******** logged in}}
> {{C: PBSZ 0}}
> {{A: 200 PBSZ 0 successful}}
> {{C: PROT P}}
> {{A: 200 Data connection set to: Private}}
> {{C: TYPE I}}
> {{A: 200 TYPE set to BINARY}}
> {{C: PASV}}
> {{A: 227 Entering passive mode (217,70,161,93,39,15)}}
> {{C: LIST}}
> {{A: 150 Opening ASCII mode data connection}}
> {{A: 226 Directory send OK}}
> {color}
> Issueing the commands "PBSZ 0" and "PROT P" before and calling
> enterLocalPassiveMode() and setFileType(FTP.BINARY_FILE_TYPE) will produce
> the same commandsequence (without SYST and FEAT), but with the error
> described above.
>
> On top of that: disconnect() will block forever, originating from
> socket.close() which is blocking. The only way to avoid this is calling
> logout() (even if login() wasn't issued). Then disconnect will return as
> expected.
--
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