Build 2871 released: MODE Z, MODE B, PuTTY private key support

  |   Lukas Pokorny

This build is still not the big release with great new FTP features we announced last time, but it is well worth downloading though - check it out for yourself!


FTP and FTP/SSL components got MODE Z and MODE B support. At the moment, MODE Z (data compression) is only available in .NET 2.0 or higher, because we rely on .NET 2.0's new System.IO.Compression classes. We plan to implement a custom deflate library next year and once it is done, the builds for other .NET Framework versions will get compression support as well. MODE B (available in all builds) is a special transfer mode specified by RFC 959 that makes it possible to use a single data channel for many subsequent data transfers - this is a huge benefit when transferring lots of small files, both in speed and TCP/IP socket utilization. The only known server that currently supports this is Microsoft FTP Publishing Service for IIS 7.0 - RC0, the new FTP server that will be a part of Windows Server 2008.

SFTP - Support for PuTTY private keys

PuTTY is a popular SSH client implementation that uses a custom format (.ppk) for storing the private keys for public key authentication. The latest release of Rebex SFTP supports this format as well, so you can use the same keyfiles from both PuTTY and Rebex SFTP component!

Complete List of Changes:

  • FTP: Support for MODE B (block mode) with MS FTP7 that makes it possible to re-use a single data connection for multiple transfers.
  • FTP: Experimental support for MODE Z (data transfer compression) added to .NET 2.0 build.
  • FTP: Support for HOST command (multiple virtual FTP hosts on a single IP address). (Disabled by default).
  • FTP: Data channel now maintains a separate session from control channel.
  • FTP/SecureSocket: Added built-in PFX-based client certificate request handler.
  • FTPSecureSocket: Fixed a bug in the negotiation part of the TlsSocket class that caused problems when handling large packets.
  • SFTP: Fixed a bug in GetInfo and GetFileLength methods that caused an invalid length to be reported for files larger than 4GB.
  • SFTP/SSH: Changed the authentication routine to be compatible with servers that require a banner message to be sent to the client.
  • SFTP/SSH/Security: Added support for loading PuTTY private keys.
  • IMAP: Bcc property added to ImapMessageInfo class.
  • IMAP: IsEnryptedOrSigned property added to ImapMessageInfo class.
  • MIME: Added workaround for invalid base64 encoded headers with whitespaces.
  • MIME: Fixed problems in handling of filenames with invalid characters.

Also, it is worth mentioning that we have finally changed the design of our website - hope you like the new look!