Home > Software engineering >  chilkat error 425 Unable to build data connection TSL session of data connection not resumed
chilkat error 425 Unable to build data connection TSL session of data connection not resumed

Time:01-28

Hi I am trying to copy a file via FTP using chilkat, but I got the error " error 425 Unable to build data connection TSL session of data connection not resumed". It works with filezilla client just fine. Here is the code

    if (!CkGlob.UnlockBundle(BUNDLE_CHILKAT))
    {
      W_WARNING("error while activating Chilkat");
      return;
    }
    cSincFTP.ClearSessionLog();
    if(sParam.sFTP[nFTP].UsaProxy)
    {
      cSincFTP.put_ProxyHostname(sParam.sFTP[nFTP].szServer);
      cSincFTP.put_ProxyPort    (sParam.sFTP[nFTP].unPortaFireWall);
      cSincFTP.put_ProxyUsername(sParam.sFTP[nFTP].szUserName);
      cSincFTP.put_ProxyPassword(sParam.sFTP[nFTP].szSenha);
      //if((nProxyMethod=cSincFTP.DetermineProxyMethod())<=0) return(FALSE);
      cSincFTP.put_ProxyMethod(nProxyMethod);
    }
    cSincFTP.put_Hostname(sParam.sFTP[nFTP].szServer);
    cSincFTP.put_Username(sParam.sFTP[nFTP].szUserName);
    cSincFTP.put_Password(sParam.sFTP[nFTP].szSenha);
    cSincFTP.put_Passive((sParam.sFTP[nFTP].UsaPassiveMode?true:false));
    cSincFTP.put_Port(sParam.sFTP[nFTP].unPortaFTP);

    //Establish an AUTH TLS secure channel after connection on the standard FTP port 21.
    cSincFTP.put_AuthTls((sParam.sFTP[nFTP].unPortaFTP==990?false:true));
    //The Ssl property is for establishing an implicit SSL connection on port 990.
    cSincFTP.put_Ssl((sParam.sFTP[nFTP].unPortaFTP==990?true:false));
    for(;;)
    {
      if(cSincFTP.Connect()!=true)
      {
        auto razao = cSincFTP.get_ConnectFailReason();
        if (razao == 201)
        {
          cSincFTP.put_AuthTls(false);
          cSincFTP.put_AuthSsl(false);
          cSincFTP.put_Ssl(false);
          W_MSG("Not possible to use (TLS/SSL)");
          continue;
        }
        SetCursor(LoadCursor(NULL,IDC_ARROW));
        W_WARNING("Not possible to connect to the FTP server");
        return;
      }
      if(cSincFTP.get_AuthTls()||cSincFTP.get_AuthSsl()||cSincFTP.get_Ssl())
      {
        cSincFTP.ClearControlChannel();
        CkString CkHost;
        cSincFTP.get_Hostname(CkHost);

        //use the EPSV command instead of PASV for passive mode data transfers
        cSincFTP.put_UseEpsv(false);
        //PassiveUseHostAddr property tells the FTP client to discard the IP address part of the PASV response
        //and replace it with the IP address of the already-established control connection
        cSincFTP.put_PassiveUseHostAddr(true);
      }
      cSincFTP.put_KeepSessionLog(true);
      break;
    };
    cSincFTP.DeleteRemoteFile(szRemoteFile1);
    cSincFTP.DeleteRemoteFile(szRemoteFile2);
    cSincFTP.RemoveRemoteDir(szRemoteDir);
    cSincFTP.SetTypeBinary();
    auto res = cSincFTP.ClearControlChannel(); 
    if(cSincFTP.PutFile(szRemoteFile1,szRemoteFile1)!=true)
    {
      //IN here I got the error
    }

The file szRemoteFile1 is created however is empty. Any help?

CodePudding user response:

Updating to the latest version of Chilkat should fix the problem. You're likely using an older version of Chilkat?

  • Related