Rebex

Skip to content, Skip to navigation




Rebex SFTP for .NET Release History

2010-07-20 Version 2.0.3854.0 #

  • SFTP: Added Sftp.GetStream method that makes it possible to open a readable/writable/seekable stream of a remote file.
  • SFTP: Sftp class inherits from NetworkSession base class that implements some common properties.
  • SFTP: Added SftpOption.UseReadWriteModeForDownloads.
  • SFTP: Added ProtocolVersion property to Sftp class.
  • SFTP: SftpItemCollection.GetEnumerator is now an implementation of IEnumerable<SftpItem>.
  • SFTP: Fixed a DateTime range check in SftpAttributes.Modified and .Created which was performed before the conversion to UTC.
  • SFTP: Better error handling in GetFiles/PutFiles methods.
  • SSH Core: In FIPS-only mode, a CryptoAPI implementation of AES is used if available.
  • SSH Core: Added support for aes*-ctr and 3des-ctr ciphers.
  • SSH Core: SshSession class inherits from NetworkSession base class that implements some common properties.
  • SSH Core: SshChannel.ExtendedDataReceived event added to make it possible to receive extended data.

2010-05-20 Version 2.0.3793.0 #

  • SFTP: Fixed a bug that caused "/" local path argument of PutFiles/GetFiles methods to be treated as current directory.
  • SFTP: Added Sftp.Bind and Scp.Bind method to make it possible to bind the SFTP or SCP object to existing SSH session.
  • SFTP: A full local path is passed in SftpBatchTransferProgressEventArgs.
  • SFTP: SftpTransferProgressEventArgs now contain RemotePath and LocalPath when available.
  • SFTP: SftpBatchTransferException is now serializable.
  • SFTP: Queued data packets are no longer written to the output stream after download operation has been aborted.
  • SSH Core: Added a workaround for a server that announces support for "password" authentication but requires "keyboard-interactive" instead.
  • SSH Core: Fixed a bug in ZLIB compression routines that caused compatibility problems with GlobalScape and BitVise servers when compression was enabled.
  • SSH Core: Fixed a bug that caused SSH session to hang if a broken (incomplete) SSH packet arrived (rare).

2010-03-11 Version 2.0.3723.0 #

  • SFTP: A more meaningful exception is thrown when a directory path is passed to Sftp.GetFile method instead of file path.
  • SFTP: Added support for getting and setting file creating date (only works with servers that support SFTP v4).
  • SFTP: Fixed SSH_FXP_READ packet logging code that caused some packets not to appear in the communication log.
  • SFTP: Added a workaround for servers where SSH_FXP_STAT command doesn't work correctly on directories.
  • SFTP: Fixed a bug in GetFile method that caused it to hang if length was specified.
  • SFTP: Added SftpBatchTransferOptions.XCopy batch transfer mode. This is an alternative form of FtpBatchTransferOptions.Recursive that traverses all subdirectories but only transfers files that match the specified mask.
  • SFTP: Fixed PutFiles method to accept all kinds of root paths (such as "c:", "c:/", or "c:\" - previously, only "c:\." worked).
  • SFTP: SftpTransferProgressEventArgs.BytesPerSecond property added that contains the estimated current speed.
  • SFTP: HierarchyRetrieve events are no longer raised when only a single file is transferred.
  • SFTP: Added experimental SftpOptions.UseLargeBuffers to use larger internal buffers (doesn't seem to make substantial difference on most systems).
  • SFTP: Data-block-receiving routines optimized to write directly to the output stream without a round-trip through a temporary buffer.
  • SFTP: Fixed a bug that made it impossible to call Sftp.GetFiles method on a root directory.
  • SFTP: Sftp.TransferProgress event is called less often on high-speed connections now (several times per second is sufficient).
  • SSH Core: Added SshFingerprint.Compute and SshFingerprint.FromBase64String methods to make it possible to easily calculate a fingerprint of the supplied public key.
  • SSH Core: ZLIB compression is now switched off by default (caused problems with some servers).
  • SSH Core: Client KEX_INIT packet is sent without waiting for the server side one (this is the only proper behavior).
  • SSH Core: Added SshSession.KeepAlive method to make it possible to periodically "ping" the SSH connection to keep it working and detect failures.
  • ProxySocket: The underscore character is now allowed in hostnames (this is non-standard, but used by Windows).
  • ProxySocket: FileLogWriter is capable of logging into a single file from multiple applications now.
  • ProxySocket: ProxySocket.Send behavior changed to always send all the data or fail.
  • Security: Added Certificate.LoadDerWithKey method to make it possible to easily load certificates with private keys in external file (Unix-style).
  • Security: Support for PKCS #7 EnvelopedData encrypted using RC2 with effective key length not equal to key data length.
  • Security: Fixed a bug in EnvelopedData class that cause a NullReferenceException to be raised when unsupported encryption algorithm is encoutered.
  • Security: Internal ModPow method optimized.
  • Security: Key generation support removed from RSAManaged a DSAManaged. No part of any of our components ever used it at it was prohibitively slow anyway.

2009-10-27 Version 2.0.3588.0 #

  • SFTP: SFTP v4 support added.
  • SFTP: Fixed a bug in CreateDirectory/ChangeDirectory workaround for CoreFTP.
  • SFTP: Added workaround for ProFTPd's mod_sftpd SSH_FXP_REALPATH command that fails for newly created directories.
  • SSH Core: Fixed a bug in ArcFour cipher implementation that made it unusable.
  • SSH Core: Fixed a bug that caused an SSH welcome message to be parsed incorrectly when split accross multiple packets.
  • SSH Core: Added support for ZLIB transfer compression.
  • ProxySocket: Proxy object now has Encoding property that makes it possible to specify character set to be used for parsing server responses.
  • ProxySocket: ProxySocketException.ErrorCode property now returns HTTP and Socket4/Socks5 error codes when available.
  • ProxySocket: SspiAuthentication and GssApiProvider classes added that provide GSSAPI/SSPI functionality.
  • Security: Certificate's CRL distribution point list can be accessed using GetCrlDistributionPoints method.

2009-07-17 Version 2.0.3484.0 #

  • SSH Core: Fixed a bug in GSSAPI authentication that caused it to work improperly in 32bit .NET Framework.

2009-07-13 Version 2.0.3479.0 #

  • SFTP: IEnumerable<T> support added to collections for .NET 2.0 and higher.
  • SSH Core: Support for GSSAPI authentication (gssapi-with-mic) added. Kerberos (not on .NET CF) and NTLM mechanisms are supported. MS SSPI is used as an underlying authentication provider.
  • SSH Core: SshFingerprint class extended to support multiple hash algorithms.
  • SSH Core: Added BannerReceived event that ca be used to receive banner messages sent by the server.
  • SSH Core: Added FingerprintCheck event as an alternative way to check server fingerprint.
  • SSH Core: Support for authentication using both username/password and public key at the same time made compatible with Maverick SSHD server.
  • Security: .PFX/P12 private key file loading support for Windows Mobile 5 and newer.
  • Security: Added support for signatures based on SHA-2 (SHA-256, SHA-384 and SHA-512).
  • Security: If .NET 3.5 is available, a new and much faster AES implementation is used instead of RijndaelManaged.
  • Security: Behavior of certificate finders in CMS/PKCS #7 was enhanced - embedded certificates are always searched now.

2009-05-20 Version 2.0.3428.0 #

  • SFTP: Added support for transfer compression through a plugged-in library.
  • SFTP: Upload and download speed enhanced a lot using the pipelining approach.
  • SFTP: UTF-8 encoding is used by default for WS_FTP server.
  • SFTP: Upload and download buffer size changed from 32K to 28K because the original size resulted in two packets being sent.
  • SFTP: Fixed a misleading error message that occurs when both password and public key authentication is required by the server but the clients only supply one of the credentials.
  • SFTP: Added several workarounds for CoreFTP server's SFTP implementation that suffers from numerous bugs such as missing file attributes or half-working SSH_FXP_REALPATH command.
  • SFTP: Fixed a bug in GetFiles and PutFiles method that caused a wrong path to be used when a filename only was specified or when a root path was specified.
  • SCP: Compatibility enhancements in Scp object's PutFile method.
  • SCP: Added a workaround for Bitvise's SCP that closes the SCP channel too early.
  • SSH Core: Added FIPS 140-2 compliant mode that is automatically enabled on systems where only compliant algorithms are allowed.
  • SSH Core: Added a new exception status - PasswordChangeRequired - that is used when a password change is required before authentication can be successfully completed.

2009-02-19 Version 2.0.3333.0 #

  • SFTP: Detection of GlobalScape server enhanced to properly detect more versions.
  • SCP: Scp.Logger renamed to Scp.LogWriter to match the other objects including Sftp.
  • SCP: Fixed improper handling of the first success response.
  • SSH Core: Banner message is now logged when using the LogWriter fuctionality.
  • SSH Core: Added workaround for badly-formed DSA signature produced by SSH Secure Shell 3.1.0 (and possibly other versions).
  • SSH Core: Added a workaround to the Compact Framework version for VanDyke VShell server that sends primes that are one bit longer than expected.
  • ProxySocket: Fixed a bug in Socks4/Socks5 proxy code that made it impossible to use FTP in active mode with these proxies.
  • Security: CertificateStore.FindCertificate overloads that accept DistinguishedName now search for certificates signed by intermediate CAs as well.
  • Security: Enhanced treatment of empty passwords in the PFX loader.
  • Security: Certificates with SubjectAlternativeName extension marked as critical are now treated as not having any e-mail address assigned to them if no e-mail address is found in the extension data.
  • Security: Fixed a bug in DiffeHellmanManaged.ImportParameters method that made it impossible to import key with all parameters filled.

2009-01-14 Version 2.0.3300.0 #

  • SFTP: Added PutFiles and GetFiles method to make it possible to transfer multiple files easily by transfering a whole directory tree or use wildcards.
  • SFTP: Setting ServerType property to Unix now causes '\' not to be treated as a directory separator for the remote server.
  • SFTP: A better exception is now thrown by a method that has been terminated by calling Dispose from another thread.
  • SFTP: Packages for .NET Compact Framework 3.5 added.
  • SFTP: Asynchronous operations now use a thread pool.
  • SFTP: Asynchronous method threads are now named.
  • SCP: Added Scp class to make it possible to tranfer files using the legacy SCP protocol.
  • SCP: Added enhanced logging capabilities.
  • SSH Core: Added support for saving PuTTY private keys.
  • SSH Core: Added ChangePassword method to SshSession class to make it possible to change user password.
  • SSH Core: Added support for servers that don't require a password.
  • SSH Core: Fixed a bug in SshSession that caused problems when multiple channels through the same SSH session were used at the same time.
  • Security: Added support for reading and setting private key comment.
  • Security: Added RootCertificate and LeafCertificate properties to CertificateChain class.
  • Security: Added GetCommonName method to DistinguishedName class.
  • Security: Added IEnumerator support to CertificateChain.
  • Security: Added Equals method to DistinguishedName class.
  • Security: Fixed a bug in OID decoding routine that cased it to occasionally hang on roken input data.
  • Security: Added new Certificate.LoadPfx to make it possible to load keys into machine store.
  • Security: Fixed a problem in Certificate.Decrypt method that made the decryption fail with some rare certificates.
  • Security: Added Certificate.Associate method to make it possible to associate a RSA/DSA crypto service provider with access to a private key with a certificate.

2008-07-24 Version 1.5.3127.0 #

  • SFTP: GetList, GetRawList and GetNameList enhanced to support wildcards. However, they are processed at the client side because SFTP can't do that at the protocol level.
  • SSH Core: Fixed a problem in RSA private key reader that caused an error with some keys.
  • SSH Core: Enhanced packet reader to support oversized SSH packets.

2008-06-14 Version 1.5.3087.0

  • SFTP: Enhanced initial folder detection to be compatible with more servers.
  • SFTP: Added detection for FTP and SSL servers that are often mistaken with SFTP to produce better exception messages.
  • SFTP: Fixed incorrect ChangeDirectory method behavior with empty path argument.
  • SFTP: Fixed a problem that caused SftpException.Status property to have a incorrect value in some cases.
  • SFTP: Added hostname validity checking to Connect method.
  • SFTP: Added experimental support for CR/CRLF conversion of text files.
  • SSH: Fixed an internal static method that was not thread safe.
  • SSH: PuTTY keys with no password are now supported as well (previously, only PuTTY keys with passwords worked).
  • SSH: Added SSH tunneling capabilities.
  • ProxySocket: New ISocket interface to make it possible to easily implement custom transport layers.
  • ProxySocket: Fixed an unhandled exception that occured during a failed connection to a proxy specified by an IP address.

2007-12-06 Version 1.5.2896.0

  • All: Packages for .NET 3.5 and Visual Studio 2008 now available.

2007-11-11 Version 1.5.2871.0

  • SFTP: Fixed a bug in GetInfo and GetFileLength methods that caused an invalid length to be reported for files larger than 4GB.
  • SSH: Changed the authentication routine to be compatible with servers that require a banner message to be sent to the client.
  • SSH: Fixed a bug in block receiving code that occured when a block of certain invalid length was received.
  • SSH/Security: Added support for loading PuTTY private keys.

2007-08-30 Version 1.5.2800.0

  • SFTP/SSH/Security: Added support for Blowfish and Twofish ciphers.
  • SFTP/SSH: Added support for authentication using both username/password and public key at the same time.
  • SFTP: Default command and response encoding changed to Encoding.Default instead of standard UTF-8, because a survey of SFTP servers showed that none of them in fact uses UTF-8.
  • Security: Various other changes that do not affect the SFTP protocol.

2007-05-24 Version 1.5.2700.0

  • SFTP: Added ListItemReceived event. This makes it possible to display the list items as they are received, to filter them or to abort the transfer based on previously received items.
  • SFTP: Response receive buffer enlarged to support messages that are slightly over the maximum allowed length, and better error reporting for those that are too large.
  • SFTP: Added another workaround for WeOnlyDo's wodFTPD (FreeFtpD) server that is unable to report the correct file datetime if the local and remote time zones are not the same.

2007-04-20 Version 1.3.2666.0

  • SFTP: Added SetFileDateTime method.
  • SFTP: Added FileExists and DirectoryExists methods.
  • SFTP: Added workaround to GetInfo method for WeOnlyDo SFTP server that reports missing files as access denied.
  • SFTP: GetConnectionState no longer fails on disconnected objects.
  • SFTP: Added GetUploadStream and GetDownloadStream methods for stream-based remote file access.
  • SSH: Client no longer announces key exchange and encryption methods that are not supported on its current platform.
  • SSH: Speed drop caused by ineffective data receiving loop was fixed.
  • SSH: Fixed a bug that caused any extra key-exchange to fall.

2007-03-06 Version 1.0.2621.0

  • SFTP: IPv6 support with .NET Framework 1.1 and 2.0/3.0.
  • SSH: Fingerprint property added to SshPrivateKey class.
  • Samples: Key Generator application added.
  • Samples: Public key authentication support added to WinFormClient sample.
  • Samples: WinFormClient is now Vista-compatible.

2007-01-11 Version 1.0.2567.0

  • SFTP/SSH: Added support for RSA and DSA public key authentication.
  • SFTP: Added workaround for ShellFTP server that has a bad habit of dropping SSH sessions after the SFTP session is closed.
  • SSH: Added support for Diffie-Hellman Group Exchange authentication (RFC 4419).
  • SSH: Fixed a bug that caused Timeout value to be ignored when waiting for the server's initial message.
  • SSH: SshFingerprint class made serializable.
  • Security: Added PrivateKeyInfo class and an ability to load and save private keys.
  • Security: Fixed a bug in DSAManaged class that made impossible to use keys of some sizes.
  • Security: Random big integer generator optimized.
  • Security: Several typos in documentation fixed.

2006-12-14 Version 1.0.2537.0

  • Initial public release.