Uploaded image for project: 'Commons Net'
  1. Commons Net
  2. NET-36

[net] PATCH] FTP and FTPClient changes

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2
    • 2.0
    • 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.

      Attachments

        1. ASF.LICENSE.NOT.GRANTED--FTPTest.java.patch.txt
          89 kB
          Joseph Hindsley
        2. ASF.LICENSE.NOT.GRANTED--FTPTest.java.patch.txt
          89 kB
          Joseph Hindsley
        3. ASF.LICENSE.NOT.GRANTED--FTPClient.java.patch.txt
          2 kB
          Joseph Hindsley
        4. ASF.LICENSE.NOT.GRANTED--FTP.java.patch.txt
          7 kB
          Joseph Hindsley

        Activity

          People

            Unassigned Unassigned
            jhindsley@providerlink.com Joseph Hindsley
            Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: