Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.2
-
None
-
None
-
Operating System: other
Platform: Other
-
30970
Description
I've included 3 patch files for changes I've made to the FTP andFTPClient
classes in the commons-net package.
The first patch is for the FTP class making it extend SocketClientinstead of
TelnetClient. I noticed that the behavior of theTelnetClient's input stream
reader thread was effectively ignoring thesocket's SOTimeout causing reads to
hang forever if the server decidednot to respond to a client request at all.
This should also answer oneof the goals from the TODO list:
"Divorce FTPClient from TelnetClient, getting rid of the TelnetClientthreads
which cause problems on some platforms (e.g., MacOS)."
The second patch is for an FTPTest unit test. I've covered most of thebasic
methods (connect(), disconnect(), sendCommand(), getReplyCode(),etc). Ignored
for now are the convenience methods since they all callsendCommand() underneath.
Part of the FTPTest class is a DummyFTPServerinner class which is used to
communicate to the test FTP class - don'tknow if that would be useful elsewhere
(maybe part of FTPClient unittests), so you might consider making it a utility
class for other unittests.
Finally I've attached a patch for minor changes to FTPClient:
- changed __storeFile() from private to protected so that it can beused by
classes that extend FTPClient
- added __storeFile(String, String) method - so that the commands itaccepts are
not limited to what's found in FTPCommand. Note: the__storeFile(int, String)
method now calls the __storeFile(String,String) method.
- added openDataConnection(String, String) method - so that thecommands it
accepts are not limited to what's found in FTPCommand. Note:the
openDataConnection(int, String) method now calls
the_openDataConnection_(String, String) method.
Hopefully you'll find the changes agreeable and will incorporate theminto the
code base.