FTP & SFTP Information

  • 27 Dec

    Uploading large files using FTP Multipart option

    Dear users,

    A while ago we received the folllowing support question:

    “I am having problem transfering a big file. The file is 959MB. We get the following error: Exception Error Control channel transfer error 114690.”

    We found out that error 11469 = No data is being transferred via control channel. We asked our FTP code supplier for advice. 

    “Looks like a timeout-related issue. Error 114690 (SB_FTPS_ERROR_CONTROL_CHANNEL_NO_DATA) is returned if no reply was received from the control channel where it was expected to come in.  According to the log, the server does not perform any activity after the file is being sent. I believe there may be a delay between the file is sent to the server and the actual response the server is sending back. This delay may originate, for example, from the server copying the uploaded file from a temporary location to its final destination. The solution is quite straightforward – instead of uploading the file as a whole, upload it in pieces. Please start with splitting the file into 100MB chunks and see how it goes.”

    And that is what we did in version ‘v2018.12.27.0’. The Multipart Upload option was added in the ‘File & Directory’ tab of the FTP destination.

    • Enabled this option using the ‘Use Multipart Upload’ checkbox.
    • Set the part size. Default is 102.400 KiByte (100 MiByte). The minimum is 5 MiByte.
    • Set the treshold size. Default is 512.000 KiByte (500 MiByte).

    So what does this mean. When a source filesize is 500 MiByte or higher then this file will be uploaded in parts (chunks) of 100 MiByte. So not as a whole but in parts. Each part will be appened at the FTP server side. We use the APPE (Append) FTP command to achieve this.

    A second option to achieve a multipart upload is using the COMB command (‘Use COMB’ checkbox). Important, not so many FTP servers support the COMB command (non RFC). The source file is send in segments and afterwards the FTP server will combine them when it receives the COMB command. We tested this using the trial version of Titan FTP server.

    Even better is when you combine this with the Retry option. So if one of the parts would fail during the FTP upload then it will retry to upload this part again (and not the whole file).

    Feedback would be much appreciated,

    Happy Holidays,

    Limagito Team


  • 04 Jun

    FTP Error Codes


    Copyright www.secureblackbox.comValueDescription
    SB_FTPS_ERROR_CONTROL_CHANNEL_HANGUP114689 (0x1C001)Some servers hang up control channels if no information is sent or received within rather short time. Hence, on large file transfers, the code which reports successful operation completion (226/250) is not sent by the server. FTPS client returns SB_FTPS_ERROR_CONTROL_CHANNEL_HANGUP error code when the command channel hangs up, but when the session was gracefully closed by the server (i.e., file transfer was finished successfully).
    SB_FTPS_ERROR_CONTROL_CHANNEL_NO_DATA114690 (0x1C002)No data is being transferred via control channel.
    SB_FTPS_ERROR_UNACCEPTED_REPLY_CODE115713 (0x1C401)Unaccepted reply code. Such codes may be sent by servers when data connection closure was initiated on the client side.
    SB_FTPS_ERROR_INVALID_REPLY115714 (0x1C402)Invalid reply.
    SB_FTPS_ERROR_LOCAL_SOURCE_NOT_FILE116737 (0x1C801)Local source is not a file.
    SB_FTPS_ERROR_LOCAL_TARGET_NOT_FILE116738 (0x1C802)Local target is not a file.
    SB_FTPS_ERROR_RESUME_OFFSET_TOO_LARGE116739 (0x1C803)This error is fired when the it is impossible to resume data transfer (because resume offset is too large).
    SB_FTPS_ERROR_OPERATION_CRITERIA_NOT_MET116740 (0x1C804)The criteria for the requested operation is not met.
    SB_FTPS_ERROR_TIMES_NOT_SET116741 (0x1C805)The criteria for the requested operation is not met.
  • 04 Jun

    SFTP Error Codes


    Copyright www.secureblackbox.comValueDescription
    SSH_ERROR_WRONG_MODE-1 (0xFFFFFFFF)Attempt to call synchronous method in asynchronous mode and vice versa
    SSH_ERROR_OK0 (0x0000)Indicates successful completion of the operation
    SSH_ERROR_EOF1 (0x0001)indicates end-of-file condition;

    • Read: no more data is available in the file;
    • ReadDirectory: no more files are contained in the directory
    SSH_ERROR_NO_SUCH_FILE2 (0x0002)A reference is made to a file which does not exist
    SSH_ERROR_PERMISSION_DENIED3 (0x0003)the authenticated user does not have sufficient permissions to perform the operation
    SSH_ERROR_FAILURE4 (0x0004)An error occurred for which there is no more specific error code defined
    SSH_ERROR_BAD_MESSAGE5 (0x0005)A badly formatted packet or protocol incompatibility is detected
    SSH_ERROR_NO_CONNECTION6 (0x0006)A pseudo-error which indicates that the client has no connection to the server
    SSH_ERROR_CONNECTION_LOST7 (0x0007)A pseudo-error which indicates that the connection to the server has been lost
    SSH_ERROR_OP_UNSUPPORTED8 (0x0008)An attempt was made to perform an operation which is not supported for the server
    SSH_ERROR_INVALID_HANDLE9 (0x0009)The handle value was invalid
    SSH_ERROR_NO_SUCH_PATH10 (0x000A)The file path does not exist or is invalid
    SSH_ERROR_FILE_ALREADY_EXISTS11 (0x000B)The file already exists
    SSH_ERROR_WRITE_PROTECT12 (0x000C)The file is on read only media, or the media is write protected
    SSH_ERROR_NO_MEDIA13 (0x000D)The requested operation can not be completed because there is no media available in the drive
    SSH_ERROR_NO_SPACE_ON_FILESYSTEM14 (0x000E)The requested operation cannot be completed because there is no free space on the filesystem
    SSH_ERROR_QUOTA_EXCEEDED15 (0x000F)The operation cannot be completed because it would exceed the user’s storage quota
    SSH_ERROR_UNKNOWN_PRINCIPAL16 (0x0010)A principal referenced by the request (either the ‘owner’,‘group’, or ‘who’ field of an ACL), was unknown
    SSH_ERROR_LOCK_CONFLICT17 (0x0011)The file could not be opened because it is locked by another process
    SSH_ERROR_DIR_NOT_EMPTY18 (0x0012)The directory is not empty
    SSH_ERROR_NOT_A_DIRECTORY19 (0x0013)The specified file is not a directory
    SSH_ERROR_INVALID_FILENAME20 (0x0014)The filename is not valid
    SSH_ERROR_LINK_LOOP21 (0x0015)Too many symbolic links encountered
    SSH_ERROR_CANNOT_DELETE22 (0x0016)The file cannot be deleted. One possible reason is that the advisory READONLY attribute-bit is set
    SSH_ERROR_INVALID_PARAMETER23 (0x0017)On of the parameters was out of range, or the parameters specified cannot be used together
    SSH_ERROR_FILE_IS_A_DIRECTORY24 (0x0018)The specified file was a directory in a context where a directory cannot be used
    SSH_ERROR_BYTE_RANGE_LOCK_CONFLICT25 (0x0019)A read or write operation failed because another process’s mandatory byte-range lock overlaps with the request
    SSH_ERROR_BYTE_RANGE_LOCK_REFUSED26 (0x001A)A request for a byte range lock was refused
    SSH_ERROR_DELETE_PENDING27 (0x001B)An operation was attempted on a file for which a delete operation is pending
    SSH_ERROR_FILE_CORRUPT28 (0x001C)The file is corrupt; an filesystem integrity check should be run
    SSH_ERROR_OWNER_INVALID29 (0x001D)The principal specified can not be assigned as an owner of a file
    SSH_ERROR_GROUP_INVALID30 (0x001E)The principal specified can not be assigned as the primary group of a file
    SSH_ERROR_UNSUPPORTED_VERSION100 (0x0064)Sets of supported by client and server versions has no intersection
    SSH_ERROR_INVALID_PACKET101 (0x0065)Invalid packet was received
    SSH_ERROR_TUNNEL_ERROR102 (0x0066)Error is on the SSH-protocol level. The connection is closed because of SSH error
    SSH_ERROR_CONNECTION_CLOSED103 (0x0067)Connection is closed
1 2 3 4 5 6