Uploaded image for project: 'YADE - Yet Another Data Exchange Tool'
  1. YADE - Yet Another Data Exchange Tool
  2. YADE-290

YADE client connection hangs for FTPS protocol

    XMLWordPrintable

Details

    Description

      Current Situation

      • YADE is intended to support FTPS as a source and a target for file transfer.
      • For the YADE release 1.8.2 file transfer from localhost source to a target over FTPS protocol hangs.
      • The error message received by the YADE Client:
        main ERROR 14:12:35,279   (SOSVfsFtpS.java:92) ::connect (@mp.sos:990) connect returns an exception
        com.sos.JSHelper.Exceptions.JobSchedulerException: (@mp.sos:990) org.apache.commons.net.ftp.FTPConnectionClosedException - Connection closed without indication.
      • Session Log
        C:\Program Files\sos-berlin.com\jade\jade_client.1.8.2\bin>jade.cmd -settings=jade_settings_ftps.ini -profile=mp.sos_ftps
        
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +                       START  : JADE.CMD                         +
        +                       -----------------                         +
        + DATE     : 15.04.2015 14:11:29,34
        + HOSTNAME : MP
        + USER     : MP
        + CALL     : C:\Program Files\sos-berlin.com\jade\jade_client.1.8.2\bin\jade.cmd -settings=jade_settings_ftps.ini -profile=mp.sos_ftps
        +                                                                 +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        
        main INFO  14:11:34,458   (SOSDataExchangeEngineMain.java:72) ::Execute SOSDataExchange - Main routine started ... -- 1.8.2 (2015-03-30 15:00, revision 21481c72eb46e54aa35311c9dade3087cd7a7a0d) Copyri
        ght 2003-2015 SOS GmbH Berlin
        main INFO  14:11:34,474   (SOSOptionLogFileName.java:178) ::setLogger setLogger without instance of logger called.
        main INFO  14:11:34,505   (SOSDataExchangeEngine.java:288) ::Execute
        *************************************************************************
        *                                                                       *
        *                JADE - JobScheduler Advanced Data Exchange             *
        *                ---www.sos-berlin.com---------------------             *
        *                                                                       *
        *************************************************************************
        version              = 1.8.2 (2015-03-30 15:00, revision 21481c72eb46e54aa35311c9dade3087cd7a7a0d) Copyright 2003-2015 SOS GmbH Berlin
        date                 = 2015-04-15 14:11:34
        operation            = copy
        protocol             = ftps
        port                 = 990
        file regExp          = TRX100.CSV2
        file path            =
        source host          = ?source_host?
        source directory     = C:\sandbox\source
        target host          = mp.sos
        target directory     = /outbound/FTPS
        ErrorWhenNoData      = true
        *************************************************************************
        
        main ERROR 14:12:35,279   (SOSVfsFtpS.java:92) ::connect (@mp.sos:990) connect returns an exception
        com.sos.JSHelper.Exceptions.JobSchedulerException: (@mp.sos:990) org.apache.commons.net.ftp.FTPConnectionClosedException - Connection closed without indication.
                at com.sos.VirtualFileSystem.FTP.SOSVfsFtpBaseClass.connect(SOSVfsFtpBaseClass.java:347)
                at com.sos.VirtualFileSystem.FTPS.SOSVfsFtpS.connect(SOSVfsFtpS.java:73)
                at com.sos.VirtualFileSystem.FTP.SOSVfsFtpBaseClass.Connect(SOSVfsFtpBaseClass.java:421)
                at com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory.doConnect(SOSVfsConnectionFactory.java:112)
                at com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory.getVfsHandler(SOSVfsConnectionFactory.java:97)
                at com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory.createConnectionPool(SOSVfsConnectionFactory.java:61)
                at com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory.<init>(SOSVfsConnectionFactory.java:32)
                at com.sos.DataExchange.SOSDataExchangeEngine.transfer(SOSDataExchangeEngine.java:842)
                at com.sos.DataExchange.SOSDataExchangeEngine.Execute(SOSDataExchangeEngine.java:292)
                at com.sos.DataExchange.SOSDataExchangeEngineMain.Execute(SOSDataExchangeEngineMain.java:75)
                at com.sos.DataExchange.SOSDataExchangeEngineMain.main(SOSDataExchangeEngineMain.java:30)
        main INFO  14:12:35,295   (SOSDataExchangeEngine.java:310) ::Execute Elapsed time = 60821, per File = 60821, total bytes = 0
        main INFO  14:12:35,295   (SOSDataExchangeEngine.java:321) ::Execute
        *************************************************************************
         execution status     = failure. Errors reported.
         successful transfers = 0
         skipped transfers    = 0
         failed transfers     = 0
         last error           = Software caused connection abort: socket write error
        Software caused connection abort: socket write error
        
        *************************************************************************
        
        main ERROR 14:12:35,295   (SOSDataExchangeEngineMain.java:83) ::Execute SOSDataExchangeEngineMain::Execute: Error occurred ...: Software caused connection abort: socket write error, exit-code 99 raise
        d
        com.sos.JSHelper.Exceptions.JobSchedulerException: Software caused connection abort: socket write error
                at com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory.getVfsHandler(SOSVfsConnectionFactory.java:105)
                at com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory.createConnectionPool(SOSVfsConnectionFactory.java:61)
                at com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory.<init>(SOSVfsConnectionFactory.java:32)
                at com.sos.DataExchange.SOSDataExchangeEngine.transfer(SOSDataExchangeEngine.java:842)
                at com.sos.DataExchange.SOSDataExchangeEngine.Execute(SOSDataExchangeEngine.java:292)
                at com.sos.DataExchange.SOSDataExchangeEngineMain.Execute(SOSDataExchangeEngineMain.java:75)
                at com.sos.DataExchange.SOSDataExchangeEngineMain.main(SOSDataExchangeEngineMain.java:30)
        main ERROR 14:12:35,310   (SOSDataExchangeEngineMain.java:90) ::Execute SOSDataExchangeEngineMain::Execute - terminated with exit-code 99
        com.sos.JSHelper.Exceptions.JobSchedulerException: Software caused connection abort: socket write error
                at com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory.getVfsHandler(SOSVfsConnectionFactory.java:105)
                at com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory.createConnectionPool(SOSVfsConnectionFactory.java:61)
                at com.sos.VirtualFileSystem.DataElements.SOSVfsConnectionFactory.<init>(SOSVfsConnectionFactory.java:32)
                at com.sos.DataExchange.SOSDataExchangeEngine.transfer(SOSDataExchangeEngine.java:842)
                at com.sos.DataExchange.SOSDataExchangeEngine.Execute(SOSDataExchangeEngine.java:292)
                at com.sos.DataExchange.SOSDataExchangeEngineMain.Execute(SOSDataExchangeEngineMain.java:75)
                at com.sos.DataExchange.SOSDataExchangeEngineMain.main(SOSDataExchangeEngineMain.java:30)
        
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +                        END   : JADE.CMD                         +
        +                        ----------------                         +
        + DATE     : 15.04.2015 14:12:35,43
        + HOSTNAME : MP
        + USER     : MP
        + CALL     : C:\Program Files\sos-berlin.com\jade\jade_client.1.8.2\bin\jade.cmd -settings=jade_settings_ftps.ini -profile=mp.sos_ftps
        + EXIT     : 99
        +                                                                 +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        
        
        C:\Program Files\sos-berlin.com\jade\jade_client.1.8.2\bin>
        

      Desired Behavior

      • YADE should support both Explicit Client Security and Implicit Client Security, see Wikipedia.
      • An additional parameter is required that allows to switch between Explicit and Implicit Client Security.
      • The use of server side public keys is supported, i.e. the YADE Client can make use of locally available public keys.
      • Currently YADE implements Excplicit Client Security, however, this feature is broken and FTPS support should be restored.

      Implemented Behavior

      • Version 1.8.*
        • FTPS support is restored
          • only Excplicit Client Security
      • Version 1.9.*, 1.10
        • FTPS support is restored
        • New features
          • Excplicit/Implicit Client Security
            • Parameter (source_| target_)
              • ftps_client_security = explicit (default) | implicit
                • typo error in release 1.9 (ftps_client_secutity), fixed for release 1.9.1, 1.10, see JADE-296
          • Proxy via SOCKS
          • Trust Manager
            • Parameter (source_ | target_)
              • keystore_type = JKS(default) | JCEKS | PKCS12 | PKCS11 | DKS
              • keystore_file = <path to the keystore file>
              • keystore_password = <keystore password>
            • Samples keystore
              • Generate a Java keystore and key pair
                C:\Temp>keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048
                
              • Import the file, contains the public key certificate
                C:\Temp>keytool -import -keystore keystore.jks -storepass password -file proftpd.cert.pem
                
              • Jade configuration
                target_keystore_type = JKS
                target_keystore_file = C:\Temp\keystore.jks
                target_keystore_password = password
                

      Attachments

        Issue Links

          Activity

            People

              re Robert Ehrlich
              mp Mahendra Patidar
              Mahendra Patidar Mahendra Patidar
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: