More .NET components

Compatibility

See also platforms and standards the FTP component is compliant with.

XCOPY deployment #

When distributing an application using Rebex FTP library, simply copy the following DLL files (.NET assemblies) with your application:

  • Rebex.Common.dll
  • Rebex.Networking.dll
  • Rebex.Ftp.dll

There is no need to install, configure or distribute anything else to make them work.

Rebex FTP license is royalty-free - you can distribute your application to unlimited number of users or computers without any additional fees.

Supported FTP/SSL servers #

Recommended and tested FTP servers:

Also works with:

  • ProFTPd
  • Wu-FTPd
  • BlackMoon FTP Server
  • Gene6 FTP Server
  • glFTPd
  • Bullet Proof
  • Serv-U FTP Server (by Rhino Software)
  • War Ftp
  • WS_FTP Server (by Ipswitch)
  • Ocean FTP Server (1.02 and higher) (by Code Ocean)
  • Raiden FTPD
  • all standard-compliant FTP servers

Workarounds for common server issues #

Workarounds for some server issues are not enabled by default because detecting them automatically would be troublesome. They can be enabled by setting the following properties of Ftp.Settings to true:

Property Purpose
DoNotSendSignals The default behavior of Rebex FTP/SSL is to send IP and Synch signals before aborting the download using the ABOR command, unless a proxy is in use.
Setting this flag will disable sending of IP and Synch signals even through non-proxied FTP sessions. You might want to try disabling it if you experience problems while aborting data transfers.
DoNotSendAbort This flag will cause the component not to send ABOR command while aborting a download. The download will be aborted by closing the receiving socket.
EnableImproperDataCloseWorkaround Some firewalls and some versions of ActiveSync were observed not to close data connections properly, causing '426' server errors. This option enables a workaround for this.
KeepAliveDuringTransfer Send NOOP command during file transfers every 10 minutes.
This is only needed if the FTP control connection is otherwise being dropped by a buggy router or firewall while a very long data transfer is in progress.
The NOOP command can be alternatively sent explicitly using the KeepAlive method.
PauseBeforeUploadClose Performs a small pause before closing the encrypted upload connection when the transfer is finished.
Used as a workaround for servers that are unable to correctly handle the last block data if it is followed by a TLS CloseNotify message in the same TCP block.
SslDoNotInsertEmptyFragment Do not send empty record after successful handshake with CBC ciphers.
SilentUnprotect Forces the Unprotect method to do immediate unprotect without exchange of CloseNotify alert messages in TLS/SSL communication.
This is in violation of the RFC, but some broken servers need it, unfortunately.
SkipRollbackDetection Ignore the client version in premaster secret. This only affects server sockets.