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

FTPS: Hook to customize _openDataConnection_ SSLSocket before startHandshake() is called

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.1
    • Fix Version/s: 3.1, 3.2
    • Component/s: FTP
    • Labels:
      None

      Description

      Currently in FTPSClient class, there is protected openDataConnection method, which create SSLSocket for data connection. But there is no hook to customize the SSLSocket before startHandshake is called.

      I need to know the remote host ip and port, which i can get for socket, and do custom setup to try to reuse SSL sessions from control connection socket. Since the socket factory uses createSocket() method, I can't just use custom socket factory since I don't know the host and port. I can't just override the openDataConnection() method in my class since that will call the startHandshake().

      So it would be nice if you can provide hook, much like connectAction(), but for data connection before handshake is started. You can pass the new data socket as argument to this hook method so one can get remote host and port information.

        Attachments

        1. FTPSClient.patch
          2 kB
          Ketan
        2. FTPSClient.patch
          0.8 kB
          Ketan

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                ktp420 Ketan
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 1h
                  1h
                  Remaining:
                  Remaining Estimate - 1h
                  1h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified